The OpenNET Project / Index page

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



"Новая версия интерпретатора GNU Awk 5.1 "
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от opennews (??), 18-Апр-20, 11:04 
Представлен новый значительный выпуск реализации языка программирования AWK от проекта GNU - Gawk 5.1.0. AWK был разработан в 70-х годах прошлого века и не претерпел значительных изменений с середины 80-х годов, в которых был определен основной костяк языка, что позволило на протяжении последних десятилетий сохранить первозданную стабильность и простоту языка. Несмотря на преклонный возраст, AWK до сих пор активно используется администраторами для выполнения рутинных работ, связанных с разбором различного рода текстовых файлов и генерацией несложной результирующей статистики...

Подробнее: https://www.opennet.ru/opennews/art.shtml?num=52761

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


1. "Новая версия интерпретатора GNU Awk 5.1 "  –11 +/
Сообщение от Аноним (1), 18-Апр-20, 11:04 
К системд забыли привязать.
Ответить | Правка | Наверх | Cообщить модератору

15. "Новая версия интерпретатора GNU Awk 5.1 "  +10 +/
Сообщение от VINRARUS (ok), 18-Апр-20, 13:58 
Это system:D привязана к awk!
Ответить | Правка | Наверх | Cообщить модератору

27. "Новая версия интерпретатора GNU Awk 5.1 "  +1 +/
Сообщение от Аноним (27), 18-Апр-20, 14:21 
Systemd к GNU имеет отношение чуть более, чем никак. У них есть собственный системный менеджер Guix.
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

32. "Новая версия интерпретатора GNU Awk 5.1 "  +5 +/
Сообщение от user90 (?), 18-Апр-20, 14:40 
> системный менеджер Guix

"Пакетный", тупица!!!)) А то, о чем ты хотел поведать, называется GNU Shepherd.

Ответить | Правка | Наверх | Cообщить модератору

33. "Новая версия интерпретатора GNU Awk 5.1 "  +6 +/
Сообщение от Аноним (27), 18-Апр-20, 14:42 
Да, извини, описался :)
Ответить | Правка | Наверх | Cообщить модератору

2. "Новая версия интерпретатора GNU Awk 5.1 "  –1 +/
Сообщение от Аноним (2), 18-Апр-20, 11:14 
Часто используете?
Ответить | Правка | Наверх | Cообщить модератору

3. "Новая версия интерпретатора GNU Awk 5.1 "  +15 +/
Сообщение от Аноним (3), 18-Апр-20, 11:23 
да
Ответить | Правка | Наверх | Cообщить модератору
Часть нити удалена модератором

34. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от Michael Shigorinemail (ok), 18-Апр-20, 14:48 
Предъявите.
Ответить | Правка | К родителю #32 | Наверх | Cообщить модератору

9. "Новая версия интерпретатора GNU Awk 5.1 "  +2 +/
Сообщение от Аноним (9), 18-Апр-20, 13:26 
А какие варианты? Ну не sed же, в самом деле)) Конечно, можно бы и Perl, но зачем, если есть специализированный инструмент.
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

13. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от Аноним (13), 18-Апр-20, 13:53 
Сед норм. Кроме того баш имеет встроенные регулярки, можно избежать лишних внешних вызовов, что намного быстрее и меньше грузит. А 99% кода awk заключается в вывести энный элемент энной строки, всё равно вся логика в баше. В awk можно запихнуть разве что скрипт разбора, но никакого смысла этого делать, если ты умеешь в регулярки.
Ответить | Правка | Наверх | Cообщить модератору

20. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от VINRARUS (ok), 18-Апр-20, 14:04 
>баш имеет встроенные регулярки, можно избежать лишних внешних вызовов

но dash побыстрее будет в несколько раз

Ответить | Правка | Наверх | Cообщить модератору

23. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от Аноним (13), 18-Апр-20, 14:12 
>>баш имеет встроенные регулярки, можно избежать лишних внешних вызовов
> но dash побыстрее будет в несколько раз

Ну не в несколько… В баше всё же намного больше фич, по классике придётся городить жуткие конструкции. Я сравнивал время, башизмы были намного быстрее вызова внешнего кода. Нагрузку не сравнивал правда.

Ответить | Правка | Наверх | Cообщить модератору

25. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от VINRARUS (ok), 18-Апр-20, 14:17 
>В баше всё же намного больше фич

Можна пример?

Ответить | Правка | Наверх | Cообщить модератору

39. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от Аноним (13), 18-Апр-20, 14:56 
>>В баше всё же намного больше фич
> Можна пример?

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

Ответить | Правка | Наверх | Cообщить модератору

43. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от VINRARUS (ok), 18-Апр-20, 15:17 
Да както ничего прорывного кроме большего функционала read не увидел.
Ответить | Правка | Наверх | Cообщить модератору

46. "Новая версия интерпретатора GNU Awk 5.1 "  –1 +/
Сообщение от Аноним (13), 18-Апр-20, 15:42 
Я что-то попробовал найти в интернете сравнения или хотя бы перечень башизмов и не смог этого сделать. В моём man bash хорошо описаны все возможности, посмотри повнимательней и сравни с обычными переносимыми (различий довольно много, не понимаю, в чём проблема выделить все непереносимые конструкции в 1 список, а не в 10).
Ответить | Правка | Наверх | Cообщить модератору

102. "Новая версия интерпретатора GNU Awk 5.1 "  –4 +/
Сообщение от VINRARUS (ok), 18-Апр-20, 21:50 
Извините, но ваш баш говно.
PRINT(){
echo "$11"
}
PRINT +1+ +2+ +3+ +4+ +5+ +6+ +7+ +8+ +9+ +10+ +11+ +12+

Какого оно "$11" воспринимает как "${1}1"?

Или я шото пропустил и bash не является POSIX совместимым интерпритатором шел кода?

Ответить | Правка | Наверх | Cообщить модератору

103. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от Аноним (13), 18-Апр-20, 22:09 
Хз при чём тут баш. Man shift может.
Ответить | Правка | Наверх | Cообщить модератору

85. "Новая версия интерпретатора GNU Awk 5.1 "  +2 +/
Сообщение от Аноним (85), 18-Апр-20, 20:03 
[[ $VAR =~ .*regexp.* ]]

arr=(1 2 3)
echo ${arr[1]}

echo {01..09}

set -o pipefail

cmd <<<$VAR

for (( i = 0; i < 10; i++ )); do echo $i; done

trap 'echo was err' ERR

date | tee >(md5sum)

( flock -n $FD || { echo "locked"; exit 1; }; echo do work; ) {FD}>/tmp/my.lockfile


то что сходу вспомнилось, можно ещё это посмотреть https://www.gnu.org/software/bash/manual/bash.html#Major-Dif...

Ответить | Правка | К родителю #43 | Наверх | Cообщить модератору

28. "Новая версия интерпретатора GNU Awk 5.1 "  +1 +/
Сообщение от Аноним (27), 18-Апр-20, 14:25 
>но dash побыстрее будет в несколько раз

Но bash в дистрах изкоробки. Ну кроме тех, где busybox.

Ответить | Правка | К родителю #20 | Наверх | Cообщить модератору

29. "Новая версия интерпретатора GNU Awk 5.1 "  –1 +/
Сообщение от VINRARUS (ok), 18-Апр-20, 14:31 
>Но bash в дистрах изкоробки.

Это диверсия для внедрения system:D

Ответить | Правка | Наверх | Cообщить модератору

120. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от анонимуслинус (?), 19-Апр-20, 01:58 
баш и авк в линухе столько же примерно сколько и сама система. думайте головой когда пишите. системд тогда и в проекте не было. и кстати очень хорошая и привычная оболочка. именно поэтому есть везде. а для обработки логов и прочего оч хорошо работает sed в связке с другими стандартными программами, с той же bc к примеру. просто народ после окон все хотят также в одном флаконе)) а линь изначально был приспособлен к работе сотен мелких прог друг с другом через те же конвееры(|) к примеру.
Ответить | Правка | Наверх | Cообщить модератору

35. "Новая версия интерпретатора GNU Awk 5.1 "  –2 +/
Сообщение от Michael Shigorinemail (ok), 18-Апр-20, 14:49 
dash глючен, увы.  Рассказывал уж и пример случая, который сам поймал, приводил.  Апстрим в курсе, забил (можете объяснить тем, что все ушли тащить в дебиан systemd, мне без разницы).
Ответить | Правка | К родителю #20 | Наверх | Cообщить модератору

38. "Новая версия интерпретатора GNU Awk 5.1 "  –1 +/
Сообщение от myhand (ok), 18-Апр-20, 14:54 
> Рассказывал уж и пример случая

Например.

> Апстрим в курсе, забил

В смысле?  Вы открыли баг - и его закрыли?

Ответить | Правка | Наверх | Cообщить модератору

77. "Новая версия интерпретатора GNU Awk 5.1 "  –1 +/
Сообщение от Michael Shigorinemail (ok), 18-Апр-20, 19:17 
Что удивительно, минут за десять в архивах почты и жаберной переписке с майнтейнером так и не нашёл, но это точно было что-то с read в цикле вроде такого: http://bugzilla.altlinux.org/21229

Помнится, Лёша тогда и отмечал -- мол, знают, но не чинят.  После чего я идти вешать уже не стал.  Давайте так: если кто-то жаждет принять участие в исправлении, могу порыться ещё, потому что баг пришлось обходить.  А пока вещдоков выложить не могу -- остаётся моё слово малость заинтересованного (в том, чтоб всё же работало так или иначе).

PS: сборочная система dash тоже хрупкая -- на такое и я с lcc напоролся вслед за другими с другим: http://bugzilla.altlinux.org/31754

PPS: вдруг кому-то пригодится перловый парсер sh/bash, раз уж наткнулся в своих архивах на ссылку:

> не могу удержаться: https://github.com/dmage/shell_parser
> мой коллега на спор написал парсер шелла
> при этом задача не выполнить, а проанализировать
> это открывает целый ряд возможностей
> этот парсер может определить нужен ли bash или это dash
> кстати, он нашёл отклонения в стандарте в dash :)
> при этом у этого парсера очень мало внешних зависимостей
> Коллега довёл парсер до состояния, что он без проблем парсит
> posix-совместимый шелл. даже configure'ы осиливает :)

И ещё занятное (восстановил/разбил цитату, чтоб форум её снова не порезал)
> кстати, узнал, что конструция: for a; do :; done неправильная с точки зрения posix
> ';' после a не должно быть
> но оказывается, что все шеллы это понимают
> хотя в грамматике шелла это недопустимо

Ответить | Правка | Наверх | Cообщить модератору

128. "Новая версия интерпретатора GNU Awk 5.1 "  –1 +/
Сообщение от myhand (ok), 19-Апр-20, 09:11 
> После чего я идти вешать уже не стал.

Вот и все что надо знать о взаимодействии ALT с апстримами.

> PS: сборочная система dash тоже хрупкая -- на такое и я с
> lcc напоролся вслед за другими с другим: http://bugzilla.altlinux.org/31754

Вот негодяи!  Исправили Мишин баг еще в 2014-м годе:
https://git.kernel.org/pub/scm/utils/dash/dash.git/commit/sr...

А в ALT сообщить забыли...  И в домоуправление!

>> кстати, он нашёл отклонения в стандарте в dash :)

Его не Неуловимый Джо завут?

>> кстати, узнал, что конструция: for a; do :; done неправильная с точки зрения posix

По-моему, никакого набора стандартных тестов для соответствия POSIX в
части Shell & Utilities - нету.

Ответить | Правка | Наверх | Cообщить модератору

48. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от bircoph (ok), 18-Апр-20, 16:03 
Я бы хотел увидеть пример. У меня дома /bin/sh -> dash и не нарадуюсь. Я от Глеба слышал, что в каком-то особо извращённом случае dash, по мнению Глеба, вёл себя некорректно. Но примера не видел и dash мне это использовать не мешает.
Ответить | Правка | К родителю #35 | Наверх | Cообщить модератору

55. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от Аноним (13), 18-Апр-20, 17:15 
Я тоже после некоторых событий /bin/sh -> zsh и не нарадуюсь. Потому что баш в определённом случае (не особо извращённом, просто более сложном, чем обычно принято писать на баше -- я всё пишу на шелле, хаха (не всё, шелл сдулся, когда понадобилось с zero-terminated строками работать)) вёл себя некорректно (не мой взгляд).

Если бы не килотонны башизмов, я бы тоже может использовал даш, а там уже и находил его баги. Для интерактивного шелла zsh на 3 головы выше всех конкурентов, это понятно, но и в скриптах зшизмы весьма оказались удобны. А в чём смысл отказываться от дополнительных возможностей? Тормоза ведь не в шелле, а во внешнем коде…

Ответить | Правка | Наверх | Cообщить модератору

56. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от Аноним (13), 18-Апр-20, 17:17 
>с не zero-terminated строками

selffix, нужно было прочитать байты из файла и это оказалось несколько осложнено, потому что байты начинались с \0.

Ответить | Правка | Наверх | Cообщить модератору

79. "Новая версия интерпретатора GNU Awk 5.1 "  –2 +/
Сообщение от Michael Shigorinemail (ok), 18-Апр-20, 19:22 
> Я бы хотел увидеть пример.

Насколько припоминаю -- что-то вроде IFS=... while read . . .; do ...; done < ...; он _точно_ был в архивах, но к своему удивлению я сейчас не нашёл ни баги, ни письма, ни переписки в жабере именно с зафиксированной воспроизводилкой (на которую тогда некоторое время ушло, чтоб отловить и сузить).

Ответить | Правка | К родителю #48 | Наверх | Cообщить модератору

22. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от user90 (?), 18-Апр-20, 14:11 
> Сед норм.

Не, когда нужно учитывать и структуру документа, а не парсить 1 абзац, то делать это sed'ом я бы и пробовать не стал.

Ответить | Правка | К родителю #13 | Наверх | Cообщить модератору

24. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от Аноним (13), 18-Апр-20, 14:15 
>> Сед норм.
> Не, когда нужно учитывать и структуру документа, а не парсить 1 абзац,
> то делать это sed'ом я бы и пробовать не стал.

Как правило это даже не один абзац, а одна строка. Ну всегда несколько регулярок можно исполнить в 1 седе, если одного мало. У авк тот построчный разбор, что и у шела.

Ответить | Правка | Наверх | Cообщить модератору

26. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от user90 (?), 18-Апр-20, 14:18 
Человеку тоже свойственно читать построчно :) Так что это как раз Ок?
Ответить | Правка | Наверх | Cообщить модератору

36. "Новая версия интерпретатора GNU Awk 5.1 "  –1 +/
Сообщение от Michael Shigorinemail (ok), 18-Апр-20, 14:50 
Воспринимаю awk и особенно sed всё-таки именно поточные строковые инструменты; если надо разбирать структуру, это другой класс задач (хотя, разумеется, нахимичить и такое бывает можно и на sed/awk).
Ответить | Правка | Наверх | Cообщить модератору

57. "Новая версия интерпретатора GNU Awk 5.1 "  +2 +/
Сообщение от Аноним (57), 18-Апр-20, 17:20 
sed - да (хотя и на нем можно, но выглядит ужасно), а на awk вполне удобно все делается, если изучить его чуть глубже, чем /pattern/ { print $1 }.
Ответить | Правка | Наверх | Cообщить модератору

80. "Новая версия интерпретатора GNU Awk 5.1 "  –2 +/
Сообщение от Michael Shigorinemail (ok), 18-Апр-20, 19:23 
> sed - да (хотя и на нем можно, но выглядит ужасно), а
> на awk вполне удобно все делается, если изучить его чуть глубже,
> чем /pattern/ { print $1 }.

Потому и "и особенно". :)  Коллега и до недавних пор сосед по комнате очень любит awk, показывал занятные штуки из своей практики на нём.

Ответить | Правка | Наверх | Cообщить модератору

37. "Новая версия интерпретатора GNU Awk 5.1 "  –1 +/
Сообщение от Аноним (13), 18-Апр-20, 14:51 
> Человеку тоже свойственно читать построчно :) Так что это как раз Ок?

Но только машина не человек. Просто потом в авк всё равно всё тот же шел с теми же самыми регулярками получается. Но может я как-то не так использую. Авк несомненно нужен, если баша нет, но он всё же внешняя утилита относительно шелла. Или писать всё на авк, или писать уже на шелле. 99% времени стараюсь использовать авк только чтобы распечатать столбец. (:

Ответить | Правка | К родителю #26 | Наверх | Cообщить модератору

49. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от bircoph (ok), 18-Апр-20, 16:06 
Awk нужен для одной простой вещи: работы с полями. Средствами голого bash это очень неудобно и в ряде случаев просто невозможно. Ну простая задача: вывести поле с заданным номером. На awk это просто { print $i }, а на bash? Да, можно вырезать с помощью cut, но это неудобно и это уже не bash.
Ответить | Правка | Наверх | Cообщить модератору

51. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от VINRARUS (ok), 18-Апр-20, 16:55 
Можна пример сложного текста для парсинга, шобы чесно было?
Ответить | Правка | Наверх | Cообщить модератору

58. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от bircoph (ok), 18-Апр-20, 17:23 
> Можна пример сложного текста для парсинга, шобы чесно было?

Да тут любого текста хватит, например: https://www.gnu.org/licenses/gpl-3.0.txt

Напишите код на bash и только на bash без использования внешних утилит (можно использовать bash builtin), которая выведет для каждой строки i-е поле, если оно существует. Поля разделяются произвольным числом пробелов. В рамках данного примера это i-e слово с прилегающими знаками пунктуации и иными символами, если они есть. Отсчёт полей с 1.

На awk это просто:
print $i

На bash тоже можно сделать, но мороки намного больше и сильно медленне работать будет:
while read -a a; do echo "${a[$((i-1))]}"; done

Ответить | Правка | Наверх | Cообщить модератору

69. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от Аноним (69), 18-Апр-20, 18:19 
#!/bin/bash
exec 3<> /dev/tcp/www.gnu.org/80
if (($?)); then
    echo "Error!"
    exit 1
fi
printf "GET /licenses/gpl-3.0.txt HTTP/1.0\r\n" >&3
printf "Host: www.gnu.org\r\n" >&3
printf "Connection: close\r\n\r\n" >&3
while IFS= read L <&3 ; do
    A=($L)
    echo "$L"
    echo ${A[2]}
done
exit 0
Ответить | Правка | Наверх | Cообщить модератору

99. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от VINRARUS (ok), 18-Апр-20, 21:35 
>Напишите код на bash и только на bash без использования внешних утилит (можно использовать bash builtin), которая выведет для каждой строки i-е поле, если оно существует. Поля разделяются произвольным числом пробелов. В рамках данного примера это i-e слово с прилегающими знаками пунктуации и иными символами, если они есть. Отсчёт полей с 1.

Пишу на чистом шеле по этому вот для dash или sh (на забагованом /bin/bash не работает, шо ещо раз подтверждает шо он из говнокода).
Это элементарно делается, при чом многими способами, вот один из них, щитай нативный:
#!/bin/dash
AWK(){
eval "print(){
echo \"\$$1\"
}"
while read cat
do
print $cat
done  < $2
}
AWK 2 /home/gpl-3.0.txt

Ответить | Правка | К родителю #58 | Наверх | Cообщить модератору

140. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от bircoph (ok), 20-Апр-20, 18:27 
А я разве говорил, что не делается? Делается. Только сравните свой код с:
  awk '{ print $i }' gpl-3.0.txt
И подумайте. А ещё можно скорость работы сравнить на файлах побольше.

Внимание, вопрос: зачем использовать существенно более громоздкий и более медленный код?

Ответить | Правка | Наверх | Cообщить модератору

141. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от VINRARUS (ok), 20-Апр-20, 18:45 
> А я разве говорил, что не делается? Делается. Только сравните свой код
> с:
>   awk '{ print $i }' gpl-3.0.txt
> И подумайте. А ещё можно скорость работы сравнить на файлах побольше.
> Внимание, вопрос: зачем использовать существенно более громоздкий и более медленный код?

В случае многократного запуска awk будет существенно тормозить работу shell програмы.

Ответить | Правка | Наверх | Cообщить модератору

142. "Новая версия интерпретатора GNU Awk 5.1 "  –1 +/
Сообщение от bircoph (ok), 20-Апр-20, 21:23 
1. Не так уж и сильно, если mawk использовать — он лёгкий.
2. На больших файлах это совершенно не важно.
Ответить | Правка | К родителю #141 | Наверх | Cообщить модератору

143. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от VINRARUS (ok), 20-Апр-20, 22:38 
> А я разве говорил, что не делается? Делается. Только сравните свой код
> с:
>   awk '{ print $i }' gpl-3.0.txt

К стати, а мой код то короче:
AWK $i gpl-3.0.txt
Могу название функцыи укоротить даже до 1 буквы :)

> 1. Не так уж и сильно, если mawk использовать — он лёгкий.
> 2. На больших файлах это совершенно не важно.

Ну во первых с помощью shell можна анализировать текст таким образом который просто не возможен на awk, а во вторых чем меньше файлы, и больше их количество, тем более рацыонально  вместо awk использовать аналогичную shell конструкцыю — банально из за экономии времени на рожание ядром нового запущеного процеса.

Ответить | Правка | Наверх | Cообщить модератору

52. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от Аноним (13), 18-Апр-20, 17:04 
Cut определённо проще и легче. И у него меньше внешних зависимостей.

Awk относительно удобен для чего-то такого, но опять же, куда лучше на сед заменить.

| awk 'NR=='"$mainpl"'+1{print substr($12,1,10);}'

Ответить | Правка | К родителю #49 | Наверх | Cообщить модератору

72. "Новая версия интерпретатора GNU Awk 5.1 "  +1 +/
Сообщение от Аноним84701 (ok), 18-Апр-20, 18:36 
> Cut определённо проще и легче. И у него меньше внешних зависимостей.

https://packages.debian.org/bullseye/mawk
dep: libc6

Ответить | Правка | Наверх | Cообщить модератору

54. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от Аноним (69), 18-Апр-20, 17:14 
S="abc def ghi"
A=($S)
for ((I = 0; I < ${#A[@]}; I++)); do
    echo ${A[ I]}
done

S="abc;def;ghi"
IFS=';'
A=($S)
for ((I = 0; I < ${#A[@]}; I++)); do
    echo ${A[ I]}
done

служебный тэг code сломан, потому [ I]

Ответить | Правка | К родителю #49 | Наверх | Cообщить модератору

81. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от Michael Shigorinemail (ok), 18-Апр-20, 19:36 
> Ну простая задача: вывести поле с заданным номером.
> На awk это просто { print $i }, а на bash?

set a b c d e f g h i j k l; i=10; eval echo \${$i}
(ой, молчи, я и так знаю всё, что ты хочешь сказать по этому поводу ;-)

PS: на любимом ресурсе одного из старожилов подсказывают, что в случае bash есть ещё variable indirection, про который я в мане не замечал:

---
#!/bin/bash
n=3
echo ${!n}
--- http://stackoverflow.com/questions/1497811/how-to-get-the-nt...

Ответить | Правка | К родителю #49 | Наверх | Cообщить модератору

5. "Новая версия интерпретатора GNU Awk 5.1 "  +2 +/
Сообщение от vle (ok), 18-Апр-20, 11:50 
вместе с http://github.com/cheusov/runawk превращается в почти полноценный мощный язык программирования.
Ответить | Правка | Наверх | Cообщить модератору

6. "Новая версия интерпретатора GNU Awk 5.1 "  +3 +/
Сообщение от Аноним (6), 18-Апр-20, 12:53 
Автор профиля на опеннете и автор репозитория один и тот же человек. Совпадение? Не думаю.
Ответить | Правка | Наверх | Cообщить модератору

12. "Новая версия интерпретатора GNU Awk 5.1 "  +2 +/
Сообщение от vle (ok), 18-Апр-20, 13:52 
> Автор профиля на опеннете и автор репозитория один и тот же человек.
> Совпадение? Не думаю.

нет, не совпадение. Я -- автор runawk, и довольно много писал и пишу на awk+runawk

Ответить | Правка | Наверх | Cообщить модератору

40. "Новая версия интерпретатора GNU Awk 5.1 "  –4 +/
Сообщение от Michael Shigorinemail (ok), 18-Апр-20, 14:57 
Более того, это очень крутой человек -- Лёша Чеусов. :)

Кстати, надо бы http://packages.altlinux.org/runawk до 1.6.1 обновить (#250191).

Ответить | Правка | К родителю #6 | Наверх | Cообщить модератору

105. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от Аноним (105), 18-Апр-20, 22:43 
Интересно, а Алексей не был против такой выдачи соответствия его ника реальному имени?
Ответить | Правка | Наверх | Cообщить модератору

115. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от vle (ok), 19-Апр-20, 00:30 
Насчет фио -- на здоровье. Насчет крутого -- ну, леша как леша.
Ответить | Правка | Наверх | Cообщить модератору

125. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от ffirefox (?), 19-Апр-20, 06:21 
Из readme проекта:
author:                                  Aleksey Cheusov <vle@gmx.net>

Ответить | Правка | К родителю #105 | Наверх | Cообщить модератору

116. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от vle (ok), 19-Апр-20, 00:31 
Для любителей awk штука очень полезная, и ничего не портит, так что вы там смотрите. Давно стабильно работает.
Ответить | Правка | К родителю #40 | Наверх | Cообщить модератору

10. "Новая версия интерпретатора GNU Awk 5.1 "  +1 +/
Сообщение от neAnonim (?), 18-Апр-20, 13:47 
мне не хватило мотивации в свое время искать учебники и примеры по awk.

если у вас есть рекомендации сейчас самое время.

Ответить | Правка | К родителю #5 | Наверх | Cообщить модератору

16. "Новая версия интерпретатора GNU Awk 5.1 "  +2 +/
Сообщение от vle (ok), 18-Апр-20, 13:58 
> мне не хватило мотивации в свое время искать учебники и примеры по
> awk.
> если у вас есть рекомендации сейчас самое время.

Я не видел ничего лучше книжки Аарона Робинса же, ментейнера gawk.
https://www.amazon.com/GAWK-GNU-AWK-Users-Guide/dp/188211427...

Хотя у меня была другая обложка, красная.

Наверное, можно и Брайна Кернигана почитать.
https://www.amazon.com/AWK-Programming-Language-Alfred-Aho/d...

хотя его изначальная реализация и POSIX не очень дружат. Возможно,
в последнее время исправили. Точно многое исправляли в NetBSD.
Сейчас все те же люди допилоивают ее здесь
https://github.com/onetrueawk/awk

Ответить | Правка | Наверх | Cообщить модератору

17. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от user90 (?), 18-Апр-20, 13:59 
> учебники и примеры по awk

Пфф! Все упирается в класс задач, которые ты собираешься решать. Для рядовых/повседневных никаких "учебников" точно не нужно, а примеров в инторнетах завались.

Ответить | Правка | К родителю #10 | Наверх | Cообщить модератору

21. "Новая версия интерпретатора GNU Awk 5.1 "  +2 +/
Сообщение от vle (ok), 18-Апр-20, 14:06 
>> учебники и примеры по awk
> Пфф! Все упирается в класс задач, которые ты собираешься решать. Для рядовых/повседневных
> никаких "учебников" точно не нужно, а примеров в инторнетах завались.

в свое время обучал коллег (не программистов) awk, shell и ruby. Мне это странно, но "логика" data-driven awk не программистам не очень зашла. Гораздо более сложный ruby они поняли как-то быстрее.

Так что учебники все же нужны.

Ответить | Правка | Наверх | Cообщить модератору

30. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от Ordu (ok), 18-Апр-20, 14:32 
> мне не хватило мотивации в свое время искать учебники и примеры по awk.

info gawk?

Там вроде и с примерами, и как справочное пособие можно использовать, и под рукой всегда.

Ответить | Правка | К родителю #10 | Наверх | Cообщить модератору

14. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от vdb (?), 18-Апр-20, 13:54 
> вместе с http://github.com/cheusov/runawk превращается в почти полноценный мощный язык программирования.

Зачем нужен «почти полноценный», когда есть полноценный Perl, без всяких «почти»?

Ответить | Правка | К родителю #5 | Наверх | Cообщить модератору

18. "Новая версия интерпретатора GNU Awk 5.1 "  +3 +/
Сообщение от vle (ok), 18-Апр-20, 14:02 
>> вместе с http://github.com/cheusov/runawk превращается в почти полноценный мощный язык программирования.
> Зачем нужен «почти полноценный», когда есть полноценный Perl, без всяких «почти»?

скрипты на awk почти всегда оказываются сильно быстрее, чем такие же на ruby, python, perl, lua etc. Мне в свое время нужно было молотить сотни мегабайт текста, и это имело смысл.

Ответить | Правка | Наверх | Cообщить модератору

94. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от Аноним (57), 18-Апр-20, 21:13 
Это потому что во времена разработки sed и awk умели программировать эффективные движки регулярных выражений. Ко временам Perl и прочих Java это сакральное знание было утеряно :-)

https://swtch.com/~rsc/regexp/regexp1.html

Ответить | Правка | Наверх | Cообщить модератору

117. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от vle (ok), 19-Апр-20, 00:35 
Все верно. И поэтому тоже, но не только. Просто сам по себе интерпретатор gawk быстрее.
Кроме того, в силу убогости самого языка программирования структуры данных выбираются максимально простые и быстрые. И data-driven подход добавляет скорости в силу своей простоты.
Ответить | Правка | Наверх | Cообщить модератору

19. "Новая версия интерпретатора GNU Awk 5.1 "  +2 +/
Сообщение от user90 (?), 18-Апр-20, 14:03 
Там сложнаа))) Ну действительно, Perl полноценный ЯП, и на его изучение потребуется больше усилий, чем на то, чтобы освоить awk.
Ответить | Правка | К родителю #14 | Наверх | Cообщить модератору

122. "Новая версия интерпретатора GNU Awk 5.1 "  –1 +/
Сообщение от Crazy Alex (ok), 19-Апр-20, 04:37 
Не факт. Я в своё время прочёл верблюжью книгу и пошёл писать на перле, чем и зарабатывал какое-то время. А авк с седом раза четыре освоить пытался, но забывалось за два дня. Перл, в силу того, что он один язык, выучить проще, чем по отдельности шелл, сед и авк, плюс он (как бы некоторым ни казалось странным) имеет очень человеческую логику и по нему легко отрастает интуиция.

В итоге моё правило - всё, в чём больше одного условия или пяти строк - писать на перле или питоне, если условия позволяют. Так по итогу и писать удобнее и осознавать через пол-года что это вообще было.

Ответить | Правка | Наверх | Cообщить модератору

50. "Новая версия интерпретатора GNU Awk 5.1 "  +1 +/
Сообщение от bircoph (ok), 18-Апр-20, 16:08 
Ух ты, не знал про runawk, спасибо, буду щупать.
Ответить | Правка | К родителю #5 | Наверх | Cообщить модератору

59. "Новая версия интерпретатора GNU Awk 5.1 "  +1 +/
Сообщение от Аноним (57), 18-Апр-20, 17:36 
quicksort и heapsort на awk порадовали :-)
Ответить | Правка | К родителю #5 | Наверх | Cообщить модератору

118. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от vle (ok), 19-Апр-20, 00:36 
ну, в nawk их нет :-/
Ответить | Правка | Наверх | Cообщить модератору

7. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от Ю.Т. (?), 18-Апр-20, 13:15 
Всё-таки namespace в 5-й серии -- тоже значительное изменение.
Ответить | Правка | Наверх | Cообщить модератору

8. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от Аноним (9), 18-Апр-20, 13:21 
Заголовок звучит угрожающе))
Ответить | Правка | Наверх | Cообщить модератору

11. "Новая версия интерпретатора GNU Awk 5.1 "  +2 +/
Сообщение от ssh (ok), 18-Апр-20, 13:49 
> Заголовок звучит угрожающе))

Думаешь если гнут авк, то cut и вовсе разрывают на куски?

Ответить | Правка | Наверх | Cообщить модератору

41. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от Michael Shigorinemail (ok), 18-Апр-20, 15:01 
Голодные cat'ы. :)
Ответить | Правка | Наверх | Cообщить модератору

44. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от Аноним (-), 18-Апр-20, 15:17 
Awk сила, sed могила :)
Ответить | Правка | Наверх | Cообщить модератору

53. "Новая версия интерпретатора GNU Awk 5.1 "  –2 +/
Сообщение от Аноним (53), 18-Апр-20, 17:08 
Awk неплох, но только на csv или tsv файлах.

Чуть более сложные структуры, и бери в руки perl.

Смысл тратить время на брдания с awk?

Ответить | Правка | Наверх | Cообщить модератору

61. "Новая версия интерпретатора GNU Awk 5.1 "  +1 +/
Сообщение от Аноним (57), 18-Апр-20, 17:38 
awk есть везде (кастрированный - даже в бизибоксе), удобно по-быстрому однострочник написать, когда sed-а не хватает.
Ответить | Правка | Наверх | Cообщить модератору

63. "Новая версия интерпретатора GNU Awk 5.1 "  –1 +/
Сообщение от Аноним (63), 18-Апр-20, 17:48 
Это когда не хватает sed, но хватает awk?
Ответить | Правка | Наверх | Cообщить модератору

65. "Новая версия интерпретатора GNU Awk 5.1 "  +2 +/
Сообщение от Аноним (65), 18-Апр-20, 18:02 
Когда надо напечатать третью колонку.
Ответить | Правка | Наверх | Cообщить модератору

95. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от Аноним (57), 18-Апр-20, 21:20 
Например, есть csv/tsv, и надо посчитать сумму числовых значений в столбце X таких строк, где в столбце Y значение удовлетворяет регулярному выражению.
Ответить | Правка | К родителю #63 | Наверх | Cообщить модератору

127. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от ssh (ok), 19-Апр-20, 09:08 
> Это когда не хватает sed, но хватает awk?

Вот-вот, аж поперхнулся от высказывания предыдущего оратора. ^^

Ответить | Правка | К родителю #63 | Наверх | Cообщить модератору

67. "Новая версия интерпретатора GNU Awk 5.1 "  –2 +/
Сообщение от Аноним (67), 18-Апр-20, 18:16 
> Чуть более сложные структуры, и бери в руки perl.

Почему perl, а не whatever else? Зачем нужен perl для ЧУТЬ более сложных структур, если есть язык X для ЧУТЬ более с СОВСЕМ сложных структур.

А для всего остольного есть awk.

Ответить | Правка | К родителю #53 | Наверх | Cообщить модератору

71. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от Аноним (65), 18-Апр-20, 18:26 
Это возрастное.
Ответить | Правка | Наверх | Cообщить модератору

87. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от Аноним (85), 18-Апр-20, 20:18 
За счёт аргументов интерпретатора perl удобнее для однострочников чем например python
Ответить | Правка | К родителю #67 | Наверх | Cообщить модератору

107. "Новая версия интерпретатора GNU Awk 5.1 "  –1 +/
Сообщение от Аноним (53), 18-Апр-20, 23:47 
Потому что perl есть везде из коробки и прост, как грабли.
Ответить | Правка | К родителю #67 | Наверх | Cообщить модератору

110. "Новая версия интерпретатора GNU Awk 5.1 "  +1 +/
Сообщение от Аноним (67), 19-Апр-20, 00:08 
> perl есть везде из коробки

Где везде?

> и прост, как грабли.

Прост? Что в нем простого? Написан он как говно, если вы его исходный код читали. Сам язык - тоже говно.

Ответить | Правка | Наверх | Cообщить модератору

123. "Новая версия интерпретатора GNU Awk 5.1 "  –1 +/
Сообщение от Crazy Alex (ok), 19-Апр-20, 04:45 
Сам язык крайне прост для освоения на начальном этапе (достаточно одну книжку прочесть), имеет великолепную документацию и адски гибок если залезть чуть дальше - туда, где blessed variables, tied hashes и препроцессинг кода, плюс имеет совершенно чудовищное количество модулей на все случаи жизни.

Большой софт на нём только писать не надо - не для того он. А вот автоматизация всякая - отлично до сих пор идёт, сегодня вон ляпал скриптик для выдёргивания по z39.50 библиотечных данных для своей подборки книг - самое то.

Ответить | Правка | Наверх | Cообщить модератору

136. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от Аноним (136), 19-Апр-20, 20:39 
> Сам язык крайне прост для освоения на начальном этапе (достаточно одну книжку прочесть),

Бле, с верблюдом шоле на 1к страниц? Вот по awk книжек читать не надо.

> адски гибок если залезть чуть дальше - туда, где blessed variables

Все же адски урод, а не гибок.

> А вот автоматизация всякая - отлично до сих пор идёт, сегодня вон ляпал скриптик для выдёргивания по z39.50 библиотечных данных для своей подборки книг - самое то.

Ну вот я и говорю, что это write-only язык.

Ответить | Правка | Наверх | Cообщить модератору

86. "Новая версия интерпретатора GNU Awk 5.1 "  +1 +/
Сообщение от Аноним (85), 18-Апр-20, 20:16 
> Awk неплох, но только на csv или tsv файлах.

Вы же в курсе что по стандарту CSV вот это тоже валидный CSV из одной записи и пяти колонок:
1,2,"foo ""3""
bar",4,5

?

Как вы это на awk парсите, можно посмотреть?

Ответить | Правка | К родителю #53 | Наверх | Cообщить модератору

96. "Новая версия интерпретатора GNU Awk 5.1 "  –1 +/
Сообщение от Аноним (57), 18-Апр-20, 21:21 
Это microsoft-овский csv, его придумывали не очень умные люди.
Формат вида /etc/passwd с единственным способом экранирования разделителя намного более практичен.
Ответить | Правка | Наверх | Cообщить модератору

130. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от Аноним (130), 19-Апр-20, 15:22 
> Это microsoft-овский csv

Кто вам сказал такую чушь?

Это https://www.ietf.org/rfc/rfc4180.txt к microsoft никакого отношения не имеет и более того microsoft не поддерживал его в своём excel (починили сейчас или нет, не знаю).

Ответить | Правка | Наверх | Cообщить модератору

138. "Новая версия интерпретатора GNU Awk 5.1 "  –1 +/
Сообщение от Аноним (57), 19-Апр-20, 23:40 
Этот rfc написан в 2005 году и лишь фиксирует статус кво.
CSV в виде "строка с разделителем" существовал, конечно, еще со времен перфокарт. А вот с кавычками и их удваиванием придумали в Microsoft, еще в самых ранних версиях Excel.
Ответить | Правка | Наверх | Cообщить модератору

100. "Новая версия интерпретатора GNU Awk 5.1 "  +1 +/
Сообщение от Аноним (57), 18-Апр-20, 21:35 
В Gnu AWK есть FPAT, с ним все парсится легко.

https://www.gnu.org/software/gawk/manual/html_node/Splitting...

Ответить | Правка | К родителю #86 | Наверх | Cообщить модератору

131. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от Аноним (130), 19-Апр-20, 17:21 
Увы, нет, по вашей же ссылке написано:

NOTE: Some programs export CSV data that contains embedded newlines between the double quotes. gawk provides no way to deal with this. Even though a formal specification for CSV data exists, there isn’t much more to be done; the FPAT mechanism provides an elegant solution for the majority of cases, and the gawk developers are satisfied with that.

Стандартный RFCшный CSV даже на gawk не распарсить.

Ответить | Правка | Наверх | Cообщить модератору

137. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от Аноним (57), 19-Апр-20, 23:36 
Очевидно, что при построчном чтении распарсить случай с CRLF внутри кавычек не получится.

Если очень уж хочется поддерживать этот кейс, никто не запрещает считать кавычки и конкатенировать со следующей строкой и так далее, пока не получится полная csv-строка.

Ответить | Правка | Наверх | Cообщить модератору

108. "Новая версия интерпретатора GNU Awk 5.1 "  –2 +/
Сообщение от Аноним (53), 18-Апр-20, 23:50 
Никак. Я awk не пользуюсь, ибо не понимаю, зачем мучить себе мозг упоротыми конструкциями 70 летней давности. Тогда это было круто, и более не было ничего, но сейчас-то у нас есть перл и питон.
Ответить | Правка | К родителю #86 | Наверх | Cообщить модератору

62. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от Аноним (63), 18-Апр-20, 17:46 
Постоянно использую awk/gawk, sed, иногда и на баше текст форматирую, но если честно для 2020 это лютая дичь.
Синтаксис отвратный, привыкал долго, даже после привыкания читать сложный sed быстро не получается, а баш с вовсе всегда по символу разбираю.
Ну и самое главное это работа с несколькими строками - вторую, третью строчку после совпадения ещё можно как то заменить, но уже превращается в ад. Редактировать более сложные штуки (вроде сдвинуть на таб весь абзац начиная с нужного тега) лучше и не начинать(с башем и простые штуки становятся сложными). С помощью вима это сделать проще и в принципе проблем с ним нет.
Ответить | Правка | Наверх | Cообщить модератору

64. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от Аноним (63), 18-Апр-20, 17:56 
Добавлю про перл - работает дольше, принципиальной разницы с awk нет, синтаксис чуть чище и приятнее, но надо знать пару наркоманских трюков для однострочников. Гораздо лучше awk если проблему решает одна из стандартных библиотек. Но он не развивается, лично я жду когда его закопают и ничего нового на нем не пишу, включая однострочники(тяжело вспоминать).

Питон - то же самое, но писать нужно ощутимо больше чем на perl, но и стандартные либы лучше и тк итак периодически его использую не для редактирования текста, то проблем с вспоминанием нет.

Ответить | Правка | Наверх | Cообщить модератору

66. "Новая версия интерпретатора GNU Awk 5.1 "  –2 +/
Сообщение от Аноним (65), 18-Апр-20, 18:04 
Это ты не развиваешься. Перл теперь называется Raku и развивается теперь даже быстрее кобола.
Ответить | Правка | Наверх | Cообщить модератору

68. "Новая версия интерпретатора GNU Awk 5.1 "  –3 +/
Сообщение от Аноним (67), 18-Апр-20, 18:19 
Чаще посещайте церковь святого Ларии Уолла, кинувшего людей с 5 перлом. А вообще надеюсь, что он постепенно умрет.
Ответить | Правка | Наверх | Cообщить модератору

70. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от Аноним (65), 18-Апр-20, 18:23 
Дважды победитель на международном конкурсе запутанного кода? Да он мой кумир.
Ответить | Правка | Наверх | Cообщить модератору

111. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от Аноним (67), 19-Апр-20, 00:10 
Чтобы ты всю жизнь работал с такими кумирами.

Ну именно такой perl и есть: write-only язык. И любят его как раз те, кто пишет одноразовые простыни.

Ответить | Правка | Наверх | Cообщить модератору

88. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от Аноним (85), 18-Апр-20, 20:21 
Perl5 поддерживается и будет дальше поддерживаться. Кинули всех авторы python3, не путай.
Ответить | Правка | К родителю #68 | Наверх | Cообщить модератору

112. "Новая версия интерпретатора GNU Awk 5.1 "  –2 +/
Сообщение от Аноним (67), 19-Апр-20, 00:15 
> и будет дальше поддерживаться

Ты свои влажные мечты всем не рассказывай. Пока на нем есть что-то важное, то будет как-то поддерживаться. Но важного то почти и не осталось.

> Кинули всех авторы python3, не путай.

C python как раз все ок. А что на питон смотришь? Изменять любишь? Двойная ты личность, неприятный аноним.

Ответить | Правка | Наверх | Cообщить модератору

132. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от Аноним (130), 19-Апр-20, 17:26 
> Но важного то почти и не осталось.

Это всего лишь твоё враньё, не более.

Ответить | Правка | Наверх | Cообщить модератору

75. "Новая версия интерпретатора GNU Awk 5.1 "  +1 +/
Сообщение от user90 (?), 18-Апр-20, 19:04 
Хоть бы постыдился свою тупизну выставлять на всеобщее обозрение))

"Perl6" к пятому имеет весьма отдаленное отношение.

Ответить | Правка | К родителю #66 | Наверх | Cообщить модератору

82. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от Аноним (65), 18-Апр-20, 19:47 
Это питон 2 к питон 3 имеет далекое отношение. Просто ты недалекий.
Ответить | Правка | Наверх | Cообщить модератору

89. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от Аноним (85), 18-Апр-20, 20:23 
Perl6 это другой язык, просто ты врёшь.
Ответить | Правка | Наверх | Cообщить модератору

92. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от Аноним (92), 18-Апр-20, 21:05 
Твой мозг другой. Там различий меньше чем даже между python 3.0 и 3.8. Единственное что в третьем питон совместимость внутри 3-ей версии в целом сохранена.
Ответить | Правка | Наверх | Cообщить модератору

133. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от Аноним (130), 19-Апр-20, 17:28 
> Там различий меньше чем даже между python 3.0 и 3.8

Опять враньё.

Ответить | Правка | Наверх | Cообщить модератору

113. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от Аноним (67), 19-Апр-20, 00:16 
perl6 не существует. Есть рак и раки.
Ответить | Правка | К родителю #89 | Наверх | Cообщить модератору

83. "Новая версия интерпретатора GNU Awk 5.1 "  –2 +/
Сообщение от Вебмакака (?), 18-Апр-20, 19:48 
А вот если бы эти данные были структурированы, то писать адхок парсеры на мутных языках бы не пришлось. Но структуривать данные это миллениальское изобретение, в тру юникс вее думать об этом запрещено.
Ответить | Правка | К родителю #62 | Наверх | Cообщить модератору

90. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от Аноним (85), 18-Апр-20, 20:26 
> Но структуривать данные это миллениальское изобретение, в тру юникс вее думать об этом запрещено.

Вызывающе неверная информация.

Ответить | Правка | Наверх | Cообщить модератору

101. "Новая версия интерпретатора GNU Awk 5.1 "  +1 +/
Сообщение от Аноним (57), 18-Апр-20, 21:38 
Структурировать, конечно же, надо в бинарном формате, желательно запатентованном.

Структурирование в виде строк и столбцов с разделителями - это же слишком просто, некуда засунуть очередной фреймворк на 100 мегабайт блоба.

Ответить | Правка | К родителю #83 | Наверх | Cообщить модератору

124. "Новая версия интерпретатора GNU Awk 5.1 "  –1 +/
Сообщение от Crazy Alex (ok), 19-Апр-20, 04:54 
Некуда засунуть метанюинформацию, зато вдоволь возможностей побороться с кавычками, странными симаолами, кодировками и так далее.

Текст - это, конечно, универсально, но уж больно рискованно. Почему и появились всякие ключики -0 у разных там xargs - но, честное слово, можно было бы и дальше развить, юниксвею было бы только на пользу, если бы парсинг был попроще и побезопаснее. А так часто ровно поэтоиу вместо комбинирования предпочитают сделать комбайн.

Ответить | Правка | Наверх | Cообщить модератору

73. "Новая версия интерпретатора GNU Awk 5.1 "  –7 +/
Сообщение от Анонимemail (73), 18-Апр-20, 18:55 
Давайте ещё Кобол ада лисп фортран и пр. ископаемый хлам возродите
Ответить | Правка | Наверх | Cообщить модератору

78. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от Аноним (13), 18-Апр-20, 19:18 
> Давайте ещё Кобол ада лисп фортран и пр. ископаемый хлам возродите

Ада это такой раст 80х и оно живо у военщины, лисп просто отличный метаязык (жаль тормозной), фортран быстрее си (от немного до много, по ряду причин) и для него есть миллионы математического кода. Кобол стоило бы сравнивать с прологом. Правда, разница в том, что кобол сегодня используется различными бизнесами, а пролог вряд ли. Где-нибудь используется пролог? Вот авк используется в различных билд скриптах, где нет смаке и месон.

Ответить | Правка | Наверх | Cообщить модератору

84. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от Аноним (65), 18-Апр-20, 19:54 
Пролог в обучении использовался.
Ответить | Правка | Наверх | Cообщить модератору

97. "Новая версия интерпретатора GNU Awk 5.1 "  +1 +/
Сообщение от Аноним84701 (ok), 18-Апр-20, 21:21 
> Правда, разница в том, что кобол сегодня используется различными бизнесами, а пролог вряд ли. Где-нибудь используется пролог? Вот авк используется в различных билд скриптах, где нет смаке и месон.

Кхе-кхе
https://gerrit-review.googlesource.com/Documentation/prolog-...

ну или
> “Most people probably have used SICStus Prolog without knowing it,” says Mats Carlsson, its lead developer. “One of our customers runs a flight booking system on SICStus which handles nearly a third of all airline tickets in the world.”

или
https://sicstus.sics.se/customers.html
> Speech applications: NASA
> Clarissa, a fully voice-operated procedure browser has been developed by the NASA Intelligent Systems Division.

(причем, "место действия" - ISS)

Ответить | Правка | К родителю #78 | Наверх | Cообщить модератору

91. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от Аноним (85), 18-Апр-20, 20:27 
Зачем возрождать то что используется каждый день? Оно и так используется.
Ответить | Правка | К родителю #73 | Наверх | Cообщить модератору

93. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от Аноним (92), 18-Апр-20, 21:05 
Ну как бы зачем ворошить если работает.
Ответить | Правка | Наверх | Cообщить модератору

98. "Новая версия интерпретатора GNU Awk 5.1 "  +1 +/
Сообщение от Аноним (57), 18-Апр-20, 21:29 
IBM бесплатно обучает Коболу - не хватает специалистов. https://www.inputmag.com/tech/ibm-will-offer-free-cobol-trai...

Фортран до сих пор основной язык программирования в, например, астрофизическом моделировании.

Ada широко используется в оборонке США, в системах организации воздушного движения, в банковских системах, в медицинских устройствах.

Ну а Лисп, в различных его диалектах, вообще так широко используется, что перечислением можно заниматься сутки. Его увидеть можно где угодно, если кругозор пошире шлепания форм на Реакте и написания CRUD-ов на PHP.

Ответить | Правка | К родителю #73 | Наверх | Cообщить модератору

104. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от Аноним (27), 18-Апр-20, 22:22 
>Давайте ещё Кобол ада лисп фортран и пр. ископаемый хлам возродите

Ada ископаемый? На нём Пентагон и НАТО кодят.

Ответить | Правка | К родителю #73 | Наверх | Cообщить модератору

139. "Новая версия интерпретатора GNU Awk 5.1 "  –1 +/
Сообщение от Аноним (139), 20-Апр-20, 14:41 
>Ada ископаемый? На нём Пентагон и НАТО кодят.

Ага а еще в Пентагоне НАТО до сих пор есть компы 70-80ых годов прошлого века с 3,5'' дискетами - ну есс-но не случайно они на Аде кодят, он ведь под то железо еще создавался
Совпадение - не думаю

Ответить | Правка | Наверх | Cообщить модератору

144. "Новая версия интерпретатора GNU Awk 5.1 "  +1 +/
Сообщение от vleemail (ok), 21-Апр-20, 17:28 
>>Ada ископаемый? На нём Пентагон и НАТО кодят.
> Ага а еще в Пентагоне НАТО до сих пор есть компы 70-80ых
> годов прошлого века с 3,5'' дискетами - ну есс-но не случайно
> они на Аде кодят, он ведь под то железо еще создавался
> Совпадение - не думаю

Список "заточенностей" языка Ада "под то железо" в студию, пожалуйста.

Ответить | Правка | Наверх | Cообщить модератору

106. "Новая версия интерпретатора GNU Awk 5.1 "  +2 +/
Сообщение от твой лучший друг (?), 18-Апр-20, 23:27 
Обожаю авк. Правда, использовал сильнее, чем "давай суммируем вот этот столбец в выводе такой-то утилиты" толкьо один раз - решал задачку парсинга html отчётов, в домашних условиях. Сходу сделал на баше + всё-таки немного седа + башевское редактирование строк. Сказать, что было медленно, это ничего не сказать.
Далее ушел на чистый баш, с минимумом вызовов сторонних утилит, но дешевле не вышло. Удивили возможности анализа строк, но выглядело коряво.
Везде реализовывал парсер стейт-машиной.
И потом как водится, как пишется,  буквально за вечер - два, сев читать учебник по авк,  сделал почти без регулярок на базе FS RS переменных бомбовский парсер - автомат.
Сказать, что он летает, это преуменьшить. Слишком смело было бы говорить, что язык заточен под парсеры с автоматом состояний, но код получился красивый, без костылей, сходу читаемый и понятный даже без учебника.  Задаешь сепаратор записей, далее сепаратор полей, это в точности то, что нужно было. Генерил сиквел,без единого запуска стороних утилит, всё одним процессом. Открыл файлик, пробежался, закрыл. Просто бомбовски было. Был в восторге. Потом ещё немного почитал учебник, и единственно что добавил - вывел часть кода в функции, да и потом забил на улучшательство, даже не дочитал учебник честно говоря. но производительность порадовала.
Ответить | Правка | Наверх | Cообщить модератору

121. "Новая версия интерпретатора GNU Awk 5.1 "  +1 +/
Сообщение от Аноним (57), 19-Апр-20, 03:20 
Хех. Я как-то давно на awk делал синхронизацию структур таблиц в mysql. На входе два --no-data дампа, на выходе alter table-ы. И, нет, information schema тогда не было, надо было парсить show create table.
Ответить | Правка | Наверх | Cообщить модератору

119. "Новая версия интерпретатора GNU Awk 5.1 "  –1 +/
Сообщение от vle (ok), 19-Апр-20, 00:48 
Еще чуть-чуть в порядке саморекламы. Любителям консольных полезняшек или если вдруг понадобиться искать по регуляркам чуть более сложным образом.

https://github.com/cheusov/jrep

Не awk, конечно, но оно умеет хитро форматировать вывод. Для однострочников мегаполезно.

Ответить | Правка | Наверх | Cообщить модератору

126. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от ffirefox (?), 19-Апр-20, 06:45 
На Java как-то тяжеловато для однострочников...
А почему не модуль для runawk?
Ответить | Правка | Наверх | Cообщить модератору

129. "Новая версия интерпретатора GNU Awk 5.1 "  –1 +/
Сообщение от vle (ok), 19-Апр-20, 11:14 
По условию задачи на тот момент мне требовались регулярки именно от Java и быстро-быстро ими с консоли что-то искать. Если бы нашел Java Regexp на С, я бы просто слинковал BSD-ный grep c соответствующей либой. Но поскольку либо такую не нашел, пришлось писать grep на Java с нуля. Не на awk потому что POSIX regexps были не нужны.
Ответить | Правка | Наверх | Cообщить модератору

135. "Новая версия интерпретатора GNU Awk 5.1 "  +1 +/
Сообщение от anonymous (??), 19-Апр-20, 20:34 
Чтоб весь софт так обновлялся. А то обычно накрутят ненужных фич и насыпят новых багов вместо того, чтобы старые исправлять.
Ответить | Правка | Наверх | Cообщить модератору

145. "Новая версия интерпретатора GNU Awk 5.1 "  +/
Сообщение от Аноним (145), 22-Апр-20, 14:06 
awk это няшка
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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