The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Новая версия интерпретатора GNU Awk 5.0

12.04.2019 21:08

Представлен новый значительный выпуск реализации языка программирования AWK от проекта GNU - Gawk 5.0.0. AWK был разработан в 70-х годах прошлого века и не претерпел значительных изменений с середины 80-х годов, в которых был определен основной костяк языка, что позволило на протяжении последних десятилетий сохранить первозданную стабильность и простоту языка. Несмотря на преклонный возраст, AWK до сих пор активно используется администраторами для выполнения рутинных работ, связанных с разбором различного рода текстовых файлов и генерацией несложной результирующей статистики.

Ключевые изменения:

  • Реализована поддержка пространств имён;
  • Добавлена поддержка определённых в стандарте POSIX спецификаторов формата "%a" и "%A" для функции printf;
  • Подпрограммы для обработки регулярных выражений заменены на аналоги из Gnulib;
  • Добавлен элемент PROCINFO["platform"] со строкой, идентифицирующей платформу, для которой собран gawk;
  • Запись в элементы SYMTAB, не являющиеся именами переменных, теперь приводит к выводу ошибки;
  • Переработан код обработки комментариев, решены проблемы с отображением комментариев в отформатированном выводе.


  1. Главная ссылка к новости (https://www.mail-archive.com/i...)
  2. OpenNews: Новая версия языка программирования GNU Awk 4.2.0
  3. OpenNews: Новая версия языка программирования GNU Awk 4.1.0
  4. OpenNews: Redis-клиент на awk
Лицензия: CC-BY
Тип: Программы
Ключевые слова: awk
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (63) Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.1, Albertio (ok), 21:12, 12/04/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –43 +/
    Простите, а этот экспонат где-нибудь используется, кроме музея?
     
     
  • 2.2, Дон Ягон (?), 21:19, 12/04/2019 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Шутишь? Awk/Gawk вполне себе полезны, когда тащить perl/python избыточно.
    Хотя, наверное, в большинстве линуксов сейчас python из коробки..
    Это не есть плохо, но и не отменяет полезности awk.
     
     
  • 3.19, AnonPlus (?), 00:55, 13/04/2019 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Во всяких дистрибутивах для роутером и прочей маломощной техники - самое то. Питона там из коробки нет
     
     
  • 4.21, Дон Ягон (?), 01:30, 13/04/2019 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > Во всяких дистрибутивах для роутером и прочей маломощной техники - самое то.
    > Питона там из коробки нет

    В *BSD, например, тоже. И в полноценных дистрибутивах linux некорторых, наверняка, тоже. Я просто не помню уже.
    На мой взгляд, awk и python не следует противопоставлять, это инструменты разного калибра.

     
     
  • 5.39, пох (?), 01:01, 14/04/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > И в полноценных дистрибутивах linux некорторых, наверняка, тоже

    они не могут считаться полноценными, поскольку редхатобиэм пропихнул пихон в стандарт LSB.
    Единственные полноценные дистрибутивы, которые рискнули в конце-концов от него отойти, пихон как раз тщательно сохранили, и это убудебиан, там без него давным-давно ничего не работает.

    > На мой взгляд, awk и python не следует противопоставлять, это инструменты разного калибра.

    это просто кто-то не видел smtp сервера на awk.


     
     
  • 6.40, Дон Ягон (?), 02:18, 14/04/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> И в полноценных дистрибутивах linux некорторых, наверняка, тоже
    > они не могут считаться полноценными, поскольку редхатобиэм пропихнул пихон в стандарт LSB.
    > Единственные полноценные дистрибутивы, которые рискнули в конце-концов от него отойти, пихон как раз тщательно сохранили, и это убудебиан, там без него давным-давно ничего не работает.

    Поверю на слово - давно не интересовался подобным. На мой взгляд, python лишний в базовой системе, а так - нормальный язык. В своей нише.

    >> На мой взгляд, awk и python не следует противопоставлять, это инструменты разного калибра.
    > это просто кто-то не видел smtp сервера на awk.

    Не видел. Видел веб-сервер на sh (может на bash - уже точно не помню) и тетрис на sed. И что? Троллейбус_из_батона.jpg
    Полезность и нужность awk безусловна, но областей применения у python больше. И это не делает awk хуже. Просто такой вот расклад и всё, разные области применения - это нормально.

     
     
  • 7.49, barmaglot (??), 08:59, 15/04/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Все кто не знает что такое awk и зачем он нужен, точно не админы. А для тех кто любит пихон с хадупом, аналог на awk в 235 раз быстрее:

    https://adamdrake.com/command-line-tools-can-be-235x-faster-than-your-hadoop-c

     
     
  • 8.55, Дон Ягон (?), 14:57, 15/04/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Все кто не знает что такое awk и зачем он нужен, точно не админы. А для тех кто любит пихон с хадупом, аналог на awk в 235 раз быстрее:
    > https://adamdrake.com/command-line-tools-can-be-235x-faster-than-your-hadoop-c

    Я что-то такое когда-то видел. Спасибо за напоминание.

     
  • 2.5, Onon (?), 21:34, 12/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Виндузятники таки будут хохотаться
    grep -R awk /etc
     
     
  • 3.45, x3who (?), 02:10, 15/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > grep -R awk /etc

    /etc/libreport/ignored_words.conf:hawkey

    !?

     
  • 2.6, myhand (ok), 21:37, 12/04/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    В POSIX.1-2017, например.  Если это вам о чем-то говорит.
     
     
  • 3.27, Аноним (27), 10:33, 13/04/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    То есть имеет не меньшее значение, чем такие востребованные утилиты, как asa, comm, compress, csplit и т. д. до uux.
     
     
  • 4.28, myhand (ok), 11:00, 13/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > То есть имеет не меньшее значение, чем такие востребованные утилиты, как asa,
    > comm, compress, csplit и т. д. до uux.

    Нет.  asa, compress, uux - опциональны.  Вот как comm, csplit - только более универсальная утилита.

     
  • 2.7, VINRARUS (ok), 21:40, 12/04/2019 [^] [^^] [^^^] [ответить]  
  • +7 +/
    > Простите, а этот экспонат где-нибудь используется, кроме музея?

    За такое не прощают.

     
  • 2.9, IRASoldier (?), 22:06, 12/04/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не знаю насчёт "GNU", но вот Awk разрабатывали Ахо (A), Керниган (K), кто третий (W) - навскидку не помню, гуглить сейчас лениво. Если эти фамилии что-то говорят - объяснять значимость сабжа не нужно, если не говорят - можно только посочувствовать вопрошающему.
     
     
  • 3.20, AnonPlus (?), 00:57, 13/04/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Peter Weinberger
     
  • 3.26, Аноним (27), 10:23, 13/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Они за свою жизнь написали огромную прорву софта, про большую часть которого сейчас не вспомнит никто, включая их самих. Так что само по себе авторство — не аргумент.
     
     
  • 4.46, x3who (?), 02:15, 15/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    В любом случае это было бы прекрасное средство обработки потоков строк если бы не менялось так часто - до сих пор встречаются системы, на которых куча новых фишек не работает, не говоря уж об том новом всём.
     
     
  • 5.53, Аноним (27), 12:06, 15/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > это было бы прекрасное средство обработки потоков строк если бы не менялось так часто

    sudo apt install original-awk

     
  • 2.12, erthink (ok), 22:16, 12/04/2019 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Думаю AWK переживет последнего кто будет работать с PowerShell.
     
  • 2.14, Ано. (?), 22:30, 12/04/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >  Простите, а этот экспонат где-нибудь используется, кроме музея?

    В каких-то кассовых аппаратах.

    Оно настолько эффективно, что востребовано.

    Утилиты и ком.строка - АПИ к _любой_ функции системы. AWK - тула и разбора и формирования ответов АПИ.

    Как наган для коммисара в деревне.

     
  • 2.17, Аноним (27), 00:13, 13/04/2019 [^] [^^] [^^^] [ответить]  
  • –6 +/
    > Простите, а этот экспонат где-нибудь используется, кроме музея?

    Он используется всеми, откомментившими выше, и прочими неосиляторами cut(1) в одностроках уровня { print $1 }. А так, чтобы для серьёзных скриптов, нет.

     
     
  • 3.18, VINRARUS (ok), 00:50, 13/04/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Неосиляторы shell пользуются всем шо под руку попадёт, токо бы не читать и анализировать файл самим shell.

    SED(){
    #bu VINRARUS
    while read LINEAGE_2
    do
        case "$LINEAGE_2" in
        Swap*)
            echo "Slowpoke${LINEAGE_2#Swap}"
        ;;
        *)
            echo "$LINEAGE_2"
        ;;
        esac
    done
    }
    SED < /proc/meminfo

     
  • 3.22, Аноним84701 (ok), 03:27, 13/04/2019 [^] [^^] [^^^] [ответить]  
  • +6 +/
    >> Простите, а этот экспонат где-нибудь используется, кроме музея?
    > Он используется всеми, откомментившими выше, и прочими неосиляторами cut(1) в одностроках уровня { print $1 }.

    А можно увидеть аналоги на cut(1) от осиляторов?
    [code]
    awk '$1 > 10  && $1 < 30{sum+=$2} END {print "Sum;"sum, "Avg:"sum/NR}'
    #  фильтруем дубликаты
    awk '!filter[$0] {print $0}{filter[$0]++}'
    # используем второе поле из первого файла в качестве критерия выборки строк второго
    awk 'FNR==NR{id[$2]=$1} FNR<NR {if (id[$1]) print $0}'
    [/code]

     
     
  • 4.25, Аноним (27), 10:06, 13/04/2019 [^] [^^] [^^^] [ответить]  
  • –4 +/
    > А можно увидеть аналоги на cut(1) от осиляторов?

    А можно увидеть не искусственные примеры, а реальные?

    > фильтруем дубликаты

    См. sort(1), uniq(1). И не надо рассказывать, что порядок строк важен, потому что в таком случае дубликаты будут идти подряд, и uniq их благополучно отфильтрует без сортировки. Если же они идут не подряд, значит порядок значения не имеет, и можно сортировать.

    > используем второе поле из первого файла в качестве критерия выборки строк второго

    Если тебе постоянно приходится решать такие задачи, категорически рекомендую SQL.

     
     
  • 5.31, Аноним84701 (ok), 12:51, 13/04/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Можно Это были подчищенные примеры из history code for i in seq 1 50 d... текст скрыт, показать
     
     
  • 6.32, Аноним (27), 13:49, 13/04/2019 [^] [^^] [^^^] [ответить]  
  • –4 +/
    > получаем косты^W кастомную переключалку между приложениями по горячей клавише, с поиском, фильтром, шахматессами и неплохой шустростью даже на старье десятилетней давности

    Извини, мне не понять твоих проблем, у меня i3 (тот, который wm, а не тот, который core).

     
     
  • 7.33, Аноним84701 (ok), 15:45, 13/04/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >> получаем косты^W кастомную переключалку между приложениями по горячей клавише, с поиском, фильтром, шахматессами и неплохой шустростью даже на старье десятилетней давности
    > Извини, мне не понять твоих проблем,

    Вам, анонимам без номера, не угодишь.
    То примеры вам слишком искусственные, то слишком непонятные 🙄
    Можешь заменить список фокуса окон жирными логами, где хочется сделать выборку по юзеру, ограничившись при этом только активными процессами (т.е. по выхлопу ps для полей user/PID). Потом оставить строки особо жирных процессов c RSS > 100500.

    Или показать, как будет выглядеть сумма и среднее потребление памяти для группы процессов.
    Или хотя бы как по быстрому поменять местами поля в строке с помощью cut …

    Или я правильно понимаю, что это такое тихое и окончательное сруливание с темы, после всех громких заявлений о неосиляторах и прочих?

    > у меня i3 (тот, который wm, а не тот, который core).

    Ну хоть не арч 🙄

    [code]
    % i3 -v                                                                                          
    i3 version 4.15-274-g27afc572 (2018-09-26, branch "next") © 2009 Michael Stapelberg and contributors
    ll ~/.i3
    total 64
    drwxr-x---    2 anon  anon   512B 10 апр.  12:12 ./
    drwxr-xr--  258 anon  anon    15K 13 апр.  12:18 ../
    -rw-r-----    1 anon  anon    13K 10 апр.  12:12 config
    -rw-r-----    1 anon  anon    13K 29 янв.  2018 config.29.01.18
    -rw-r-----    1 anon  anon   12K 15 нояб.  2016 config.15.11.16
    -rw-r-----    1 anon  anon   10K 15 нояб.  2014 config.15.11.14[/code]
    Но вы продолжайте, продолжайте - нам (почти совсем) интересно[I]![/I]

     
     
  • 8.34, Аноним (27), 16:47, 13/04/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Можешь заменить список фокуса окон жирными логами, где хочется сделать выборку по юзеру, ограничившись при этом только активными процессами (т.е. по выхлопу ps для полей user/PID). Потом оставить строки особо жирных процессов c RSS > 100500.

    Ох уж эти нумерованные анонимы… Ты процессы, небось, берёшь из ps aux, угадал?
    Нельзя парсить выхлоп ps. Точка. Он не для парсинга, он для людей предназначен. И, между прочим, без костылей на awk умеет делать выборку и по реальному и эффективному юзеру, и по пидам.

     
     
  • 9.35, Аноним84701 (ok), 19:19, 13/04/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >> Можешь заменить список фокуса окон жирными логами, где хочется сделать выборку по юзеру, ограничившись при этом только активными процессами (т.е. по выхлопу ps для полей user/PID). Потом оставить строки особо жирных процессов c RSS > 100500.
    > Ох уж эти нумерованные анонимы… Ты процессы, небось, берёшь из ps aux, угадал?

    Ты можешь вбивать их хоть ручками, я не против.
    pgrep -u $(id -u username)
    Кстати, у ps существуют еще другие опции:
    ps -o pid= -o user= -xa
    дарю.

    > Нельзя парсить выхлоп ps. Точка. Он не для парсинга, он для людей предназначен. И, между прочим, без костылей на awk умеет делать выборку и по реальному и эффективному юзеру, и по пидам.

    Ох уж эти неномерные - даже не могут прочитать толком, о чем речь:
    " жирными логами, где хочется сделать выборку по юзеру, ограничившись при этом только активными процессам"
    В общем:
    "Talk is cheap, show me the code!"(c)

     
     
  • 10.36, Аноним (27), 19:38, 13/04/2019 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > Кстати, у ps существуют еще другие опции:
    > ps -o pid= -o user= -xa
    > дарю.

    Рад, что ты это знаешь. Но суть не меняется — выхлоп ps не предназначен для парсинга.

    > Ох уж эти неномерные - даже не могут прочитать толком, о чем речь:
    >" жирными логами, где хочется сделать выборку по юзеру, ограничившись при этом только активными процессам"

    Прочитать это нетрудно, но вот понять, о каких таких логах идёт речь, и какое они имеют отношение к юзеру и активным процессам, я не смог, уж извини.

     
     
  • 11.37, Аноним84701 (ok), 21:17, 13/04/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Прочитать это нетрудно, но вот понять, о каких таких логах идёт речь,
    > и какое они имеют отношение к юзеру и активным процессам, я не смог, уж извини.

    Да не, все норм -- по изящному игнорированию тех же пунктов
    > for i in $(seq 1 50); do $(time anon13377001; done|& tail -n +10 |awk '{sum+=$10} END {print "Sum;"sum, "Avg:"sum/NR}
    > Как убрать дубликаты по WID (первое поле), сохранив порядок, с помощью sort/uniq?
    > Или хотя бы как по быстрому поменять местами поля в строке с помощью cut …

    и  усиленному, авторитетному педалированию "ps не предназначен для парсинга"
    я уже понял, что никакой конкретики не будет, будет юле^W вариации "притянуто за уши!/мне не нужно!/я не понял [значит не нужно]!".
    Иначе ведь набрасывающего и подловить могут, на детальках-то.
    В общем, все как обычно для неномерных, ничего нового, так что не переживайте!

     
     
  • 12.42, Аноним (27), 10:49, 14/04/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > я уже понял, что никакой конкретики не будет

    Нет, не будет, пока ты будешь совать мне под нос куски кода и спрашивать, как это сделать без awk. Я не знаю, как что-то сделать, если мне неизвестна конечная цель. Я просто вижу, что таким путём я бы точно не пошёл, и объясняю, почему.

     
     
  • 13.60, freehck (ok), 12:36, 16/04/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> я уже понял, что никакой конкретики не будет
    > Нет, не будет, пока ты будешь совать мне под нос куски кода
    > и спрашивать, как это сделать без awk.

    Он-то знает, как это сделать без awk. Потому он его и юзает. Чтоб сил меньше тратить.

    > Я не знаю, как что-то сделать, если мне неизвестна конечная цель.

    Так и запишем, что анон, крикливо рассказывающий о "неосиляторах" -- сам же не осилил просто прочитать сравнительно небольшой текст.

    > Я просто вижу, что таким путём я бы точно не пошёл, и объясняю, почему.

    Мы тоже видим, почему ты бы им не пошёл. =)

     
  • 6.59, freehck (ok), 12:28, 16/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Аноним84701, как на счёт устроить KSP, встретиться в реале и поесть рёбрышек? Я так чувствую, что уже пора опеннетовку организовывать. )
     
     
  • 7.62, Аноним84701 (ok), 12:55, 16/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Аноним84701, как на счёт устроить KSP, встретиться в реале и поесть рёбрышек?
    > Я так чувствую, что уже пора опеннетовку организовывать. )

    Это смотря где (мне по географическим координатам где-то под 3000км до Москвы),  но я вообще-то не фанат - реалу реалово, формумам форумово ;)


     
     
  • 8.63, freehck (ok), 14:30, 16/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    >> Аноним84701, как на счёт устроить KSP, встретиться в реале и поесть рёбрышек?
    >> Я так чувствую, что уже пора опеннетовку организовывать. )
    > Это смотря где

    Да, это серьёзный вопрос. Я вот давно хотел посетить Frankfurt Pub, который на Hanauer Landstraße. Впрочем, я не уверен, что данное предложение найдёт большую поддержку.

    >  но я вообще-то не фанат - реалу реалово, формумам форумово

    Никогда не знаешь, где познакомишься с полезными людьми.

     
  • 5.41, Нонейм (?), 06:34, 14/04/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> А можно увидеть аналоги на cut(1) от осиляторов?
    > А можно увидеть не искусственные примеры, а реальные?
    >> фильтруем дубликаты
    > См. sort(1), uniq(1). И не надо рассказывать, что порядок строк важен, потому
    > что в таком случае дубликаты будут идти подряд, и uniq их
    > благополучно отфильтрует без сортировки. Если же они идут не подряд, значит
    > порядок значения не имеет, и можно сортировать.
    >> используем второе поле из первого файла в качестве критерия выборки строк второго
    > Если тебе постоянно приходится решать такие задачи, категорически рекомендую SQL.

    Запускать файлы в базу, сортировать и потом делать печать? Нуууу, если Вы не умеете ничего другого, то возможно для Вас это единственный вариант...

     
     
  • 6.43, Аноним (27), 10:52, 14/04/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Нет, вообще не использовать текстовые файлы, если с ними надо работать как с реляционной БД. То есть с самого начала выбирать инструмент, наиболее подходящий для решения конкретной задачи.
     
     
  • 7.48, x3who (?), 02:34, 15/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    >  Нет, вообще не использовать текстовые файлы, если с ними надо работать как с реляционной БД. То есть с самого начала выбирать инструмент, наиболее подходящий для решения конкретной задачи.

    Текст универсален - ведь никто же  заранее не знает, какая у тебя конкретная задача. Если тебе надо бегать по этому тексту взад-вперед много раз, никто же тебе не мешает распарсить его и запихать в БД.

    Хотя, конечно, это не оптимально.

     
  • 3.38, Аноним (38), 21:39, 13/04/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Он используется всеми, откомментившими выше, и прочими неосиляторами cut(1) в одностроках уровня { print $1 }

    Очевидно что ни с cut ни с awk вы никогда не сталкивались, у cut и awk разный алгоритм разбора на поля, они не взаимозаменяемы.

     
     
  • 4.44, Аноним (27), 10:57, 14/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Что тебе ещё очевидно, тёзка? Представь себе, я в курсе про разные алгоритмы. А ещё я в курсе того, что алгоритм cut не подходит для разбора исключительно человекоориентированного текста, а пытаться его разбирать скриптами — себе дороже. Возможно, набьёшь себе шишек — тоже это поймёшь.
     
  • 3.50, Аноним (50), 09:31, 15/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Для больших скриптов вестимо чаще используется python
    а вот для однострочников awk - самое то

    простейший пример

    cat file|awk '{if($5>158) print $11}'

    могу дать примеры и посложнее, но там придется слишком долго объяснять, что в них происходит

     
  • 3.52, Andrey Mitrofanov (?), 09:36, 15/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    >> Простите, а этот экспонат где-нибудь используется, кроме музея?
    > Он используется всеми, откомментившими выше, и прочими неосиляторами cut(1) в одностроках
    > уровня { print $1 }. А так, чтобы для серьёзных скриптов,
    > нет.

    Почти уговорил. Напиши мне на cut-е

    | awk '!x[$0]++'

    и я начну его изучать.

     
  • 2.23, Аноним (23), 07:48, 13/04/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Я использую, анализирую лог Apache.
     
  • 2.47, x3who (?), 02:29, 15/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Простите, а этот экспонат где-нибудь используется, кроме музея?

    Им иногда удобно парсить логи и мониторинг/статистику, в частности если что-то зависит от предыдущего состояни или там надо посчитать что-то по строкам и вывести в некотором  формате.

    Мне кажется, что у awk проблема в том, что им слишком долго не пользовались %) В продакшене системы, в которых масивами-то толком не попользуешься, а новые версии awk стали вылетать как из ружья.

     
  • 1.3, Аноним (3), 21:21, 12/04/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    О, в соседнем треде про предпочтения программеров на Stack Overflow утверждали, что HTML - не язык. Интересно, что скажут здесь про заголовок...
     
     
  • 2.8, DiabloPC (ok), 21:43, 12/04/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > утверждали, что HTML - не язык

    Вообще-то ещё как язык, только не язык программирования, о чём явно сказано в его названии: Hypertext MARKUP Language

     
     
  • 3.13, Аноним (13), 22:18, 12/04/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Спасибо, а то я не знал (на самом деле нет). В соседнем треде просто срач был забавный :)
     
  • 2.24, Аноним (23), 07:49, 13/04/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это полноценный язык с фунциями, математической библиотекой.
     
  • 1.4, VINRARUS (ok), 21:34, 12/04/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    А слабо повторить фокус gsed, с ускорением работы в 10 раз?
     
     
  • 2.10, Аноним (10), 22:06, 12/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Это awk такой медленный или вы имеете выиду, что он начнет искривлять вокруг компьютера пространство и время?
     
     
  • 3.11, VINRARUS (ok), 22:13, 12/04/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Я имею в виду чюдеса оптимизации: https://opennet.ru/opennews/art.shtml?num=45815
     
  • 1.15, YetAnotherOnanym (ok), 22:43, 12/04/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Зачем они его трогают?
     
     
  • 2.16, Onon (?), 23:15, 12/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Это как первый раз потрогать. Непонятно, что это такое, но очень возбуждает.
     
  • 1.29, Аноним (29), 11:22, 13/04/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Часто его использую, но синтаксис слишком устаревший и часто избыточен. Во простых случаях не хватает многосимвольных разделителей в cut(тогда бы его использовал). В остальных часто достаточно sed. И остаётся мааааленький класс задач, когда удобнее посчитать на awk, но как правило это легко сделать и на Питоне. С ситуациями когда питон не впихнуть (загрузка ядра, микроконтроллеры) практически не встречался, но как альтернатива - bash.
     
     
  • 2.30, Аноним (27), 11:42, 13/04/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Во простых случаях не хватает многосимвольных разделителей в cut(тогда бы его использовал).

    Это говорит о том, что ты парсишь что-то, не предназначенное для парсинга. В таких случаях надо не использовать awk, а поискать другое решение, как правило куда более простое.

     
     
  • 3.51, Аноним (50), 09:34, 15/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    тебе дали файл, который нужно распарсить. и там, о Боже! многосимвольный разделитель. ты откажешься выполнять эту работу, т.к. этот файл не предназначен для парсинга?

    P.S. не всегда можно многосимвольный разделитель заменить на односимвольный, т.к. в файле может встретиться любой из печатных символов.

     
  • 1.54, vle (ok), 14:37, 15/04/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Если захочется странного, можно сюда заглянуть http://github.com/cheusov/runawk
     
     
  • 2.56, Аноним (56), 16:43, 15/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Всё-таки этот Че уже из локального мема перерастает в глобальный :)
     
     
  • 3.57, vle (ok), 19:50, 15/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Всё-таки этот Че уже из локального мема перерастает в глобальный :)

    Да ну. У меня ж свистелки и перделки для меня и моего друга

     
  • 3.58, vle (ok), 20:01, 15/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    А вообще, я сюда зашел исключительно посмотреть, как Аарон описал фикс бага в 4.2.1,
    на который я ему указал буквально неделю-две назад. Робинс, пожалуй -- самый лучший апстрим,
    которого я когда-либо видел! Хороший дядька.

     
  • 2.61, freehck (ok), 12:47, 16/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Если захочется странного, можно сюда заглянуть http://github.com/cheusov/runawk

    Ммм. Коллекция модулей для awk. Полезно. Thx!

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:


    Закладки на сайте
    Проследить за страницей
    Created 1996-2019 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру
    Hosting by Ihor