Вариант для распечатки |
Пред. тема | След. тема | ||
Форум Разговоры, обсуждение новостей | |||
---|---|---|---|
Изначальное сообщение | [ Отслеживать ] |
"Новая версия языка программирования GNU Awk 4.2.0" | +/– | |
Сообщение от opennews on 20-Окт-17, 08:54 | ||
После четырёх с половиной лет разработки доступен (https://www.mail-archive.com/info-gnu@gnu.org/msg02352....) новый значительный выпуск реализации языка программирования AWK от проекта GNU - Gawk 4.2.0 (http://www.gnu.org/software/gawk). AWK был разработан в 70-х годах прошлого века и не претерпел значительных изменений с середины 80-х годов, в которых был определен основной костяк языка, что позволило на протяжении последних десятилетий сохранить первозданную стабильность и простоту языка. Несмотря на преклонный возраст, AWK до сих пор активно используется администраторами для выполнения рутинных работ, связанных с парсингом различного рода текстовых файлов и генерации несложной результирующей статистики. | ||
Ответить | Правка | Cообщить модератору |
Оглавление |
Сообщения по теме | [Сортировка по времени | RSS] |
1. "Новая версия языка программирования GNU Awk 4.2.0" | +2 +/– | |
Сообщение от blzz on 20-Окт-17, 08:54 | ||
>> Улучшена работа режима вывода отформатированного кода программы. При указании опции "--pretty-print" AWK-программа теперь не запускается; | ||
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору |
2. "Новая версия языка программирования GNU Awk 4.2.0" | +7 +/– | |
Сообщение от Аноним (??) on 20-Окт-17, 08:59 | ||
Да, раньше было более чем странно, когда запуск фильтра для форматирования кода приводил к выполнению этого кода. | ||
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору |
38. "Новая версия языка программирования GNU Awk 4.2.0" | –1 +/– | |
Сообщение от Zarat (ok) on 21-Окт-17, 10:39 | ||
Сам удивился, но как всегда корявый перевод из | ||
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору |
3. "Новая версия языка программирования GNU Awk 4.2.0" | –7 +/– | |
Сообщение от Аноним (??) on 20-Окт-17, 09:05 | ||
Недоперл? | ||
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору |
4. "Новая версия языка программирования GNU Awk 4.2.0" | +12 +/– | |
Сообщение от bentall (ok) on 20-Окт-17, 09:14 | ||
Прямой предок же. А так, когда нужно сделать что-то простое и достаточно-одноразовое с текстом — самое то. | ||
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору |
5. "Новая версия языка программирования GNU Awk 4.2.0" | +1 +/– | |
Сообщение от Anonymus on 20-Окт-17, 09:39 | ||
А sed не проще, разве? | ||
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору |
7. "Новая версия языка программирования GNU Awk 4.2.0" | +1 +/– | |
Сообщение от Аноним (??) on 20-Окт-17, 10:06 | ||
sed не годится, когда нужно что-нибудь посчитать, например. Но на perl такие вещи делаются, как правило, проще. awk может потребоваться для максимальной переносимости, благо он POSIX, но тогда все плюшки gawk идут лесом. | ||
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору |
8. "Новая версия языка программирования GNU Awk 4.2.0" | +7 +/– | |
Сообщение от angra (ok) on 20-Окт-17, 10:09 | ||
По личному опыту, включающему в себя чтение скриптов и однострочников коллег, в подавляющем большинстве случаев awk используется для вытаскивания из потока нужных позиций(колонок), а sed для регексовой замены как в потоке так и напрямую в файлах. То есть они используются для разного и выбора как такового нет. При этом конечно можно каждым из них решить основную задачу другого, но неудобно. | ||
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору |
20. "Новая версия языка программирования GNU Awk 4.2.0" | +/– | |
Сообщение от Аноним (??) on 20-Окт-17, 13:26 | ||
> в подавляющем большинстве случаев awk используется для вытаскивания из потока нужных позиций(колонок) | ||
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору |
22. "Новая версия языка программирования GNU Awk 4.2.0" | +/– | |
Сообщение от angra (ok) on 20-Окт-17, 13:50 | ||
А зачем осиливать значительно более убогий инструмент, который к тому же не способен справится с основной задачей во многих случаях? Я пробовал его использовать лет десять назад, довольно быстро пришел к выводу, что вместо экономии времени получил прямо противоположный результат. | ||
Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору |
27. "Новая версия языка программирования GNU Awk 4.2.0" | +1 +/– | |
Сообщение от Аноним (??) on 20-Окт-17, 14:42 | ||
Было бы, что там осиливать, я б ещё понял вопрос "зачем"...$ time sh -c 'for i in `seq 10000`; do cut -d: -f1 </etc/group >/dev/null; done' | ||
Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору |
29. "Новая версия языка программирования GNU Awk 4.2.0" | +/– | |
Сообщение от Andrey Mitrofanov on 20-Окт-17, 17:26 | ||
> Было бы, что там осиливать, я б ещё понял вопрос "зачем"... | ||
Ответить | Правка | ^ к родителю #27 | Наверх | Cообщить модератору |
30. "Новая версия языка программирования GNU Awk 4.2.0" | +/– | |
Сообщение от Аноним (??) on 20-Окт-17, 17:41 | ||
Ты упоролся? Какого ещё языка? Одна команду с парой опций — это у тебя язык? Блин, я, оказывается, сотни языков знаю! | ||
Ответить | Правка | ^ к родителю #29 | Наверх | Cообщить модератору |
36. "Новая версия языка программирования GNU Awk 4.2.0" | +/– | |
Сообщение от angra (ok) on 21-Окт-17, 05:11 | ||
Ну не языка, а синтаксиса команды. Принципиальной разницы нет, по существу Андрей сказал правильно. Если уже хорошо знаешь более продвинутый инструмент, то зачем запоминать еще и более убогий? И когда мне понадобится вытащить определенные поля из потока я на полном автомате напишу это на perl или awk, а не буду вспоминать какие там опции у cut и сможет ли он вообще это сделать. | ||
Ответить | Правка | ^ к родителю #30 | Наверх | Cообщить модератору |
40. "Новая версия языка программирования GNU Awk 4.2.0" | +/– | |
Сообщение от Аноним (??) on 21-Окт-17, 13:44 | ||
> Если уже хорошо знаешь более продвинутый инструмент, то зачем запоминать еще и более убогий? | ||
Ответить | Правка | ^ к родителю #36 | Наверх | Cообщить модератору |
43. "Новая версия языка программирования GNU Awk 4.2.0" | +/– | |
Сообщение от . on 21-Окт-17, 18:14 | ||
Его не только в контейнерах нет - его нигде нет. Самому приносить надо. | ||
Ответить | Правка | ^ к родителю #40 | Наверх | Cообщить модератору |
45. "Новая версия языка программирования GNU Awk 4.2.0" | +/– | |
Сообщение от angra (ok) on 21-Окт-17, 23:33 | ||
> Ты когда последний раз видел человека, который хорошо знает awk? Большинство кроме print в нём ничего не умеет и не использует. | ||
Ответить | Правка | ^ к родителю #40 | Наверх | Cообщить модератору |
39. "Новая версия языка программирования GNU Awk 4.2.0" | –2 +/– | |
Сообщение от Zarat (ok) on 21-Окт-17, 10:44 | ||
> Какого ещё языка? | ||
Ответить | Правка | ^ к родителю #30 | Наверх | Cообщить модератору |
34. "Новая версия языка программирования GNU Awk 4.2.0" | +/– | |
Сообщение от angra (ok) on 21-Окт-17, 04:56 | ||
> Было бы, что там осиливать, я б ещё понял вопрос "зачем"... | ||
Ответить | Правка | ^ к родителю #27 | Наверх | Cообщить модератору |
41. "Новая версия языка программирования GNU Awk 4.2.0" | +/– | |
Сообщение от Аноним (??) on 21-Окт-17, 13:54 | ||
Я прекрасно знаю про "задачи", которые cut не может решить. А также знаю, что в 95% случаев такие задачи возникают в результате неправильного решения другой задачи. Парсить вывод команды, не предназначенный для парсинга, нельзя, потому что в итоге, пусть даже в каком-нибудь маргинальном случае, ты получишь совсем не то, чего ожидал. А то, что предназначено для парсинга, всегда имеет строго один разделитель и отлично обрабатывается cut. | ||
Ответить | Правка | ^ к родителю #34 | Наверх | Cообщить модератору |
44. "Новая версия языка программирования GNU Awk 4.2.0" | –2 +/– | |
Сообщение от . on 21-Окт-17, 18:50 | ||
Му-ха-ха :) Какой восторженный ***** :-) Ну погнали по пунктам: | ||
Ответить | Правка | ^ к родителю #41 | Наверх | Cообщить модератору |
46. "Новая версия языка программирования GNU Awk 4.2.0" | –1 +/– | |
Сообщение от Аноним (??) on 21-Окт-17, 23:56 | ||
> ну - излагай топ 2 причины по которой cut приходится выковыривать из скриптов. | ||
Ответить | Правка | ^ к родителю #44 | Наверх | Cообщить модератору |
47. "Новая версия языка программирования GNU Awk 4.2.0" | +/– | |
Сообщение от Nolan on 22-Окт-17, 02:29 | ||
cut слишком беден, что-то аналогичного обычному awk '$4 == "sda"{ print $3 / 1024; exit }' /proc/partitions ты на нём не сделаешь. А запуск perl, для подобных вещей, слишком дорог. | ||
Ответить | Правка | ^ к родителю #46 | Наверх | Cообщить модератору |
48. "Новая версия языка программирования GNU Awk 4.2.0" | +/– | |
Сообщение от Led (ok) on 22-Окт-17, 03:00 | ||
> cut слишком беден, что-то аналогичного обычному awk '$4 == "sda"{ print $3 | ||
Ответить | Правка | ^ к родителю #47 | Наверх | Cообщить модератору |
51. "Новая версия языка программирования GNU Awk 4.2.0" | +/– | |
Сообщение от Noland on 22-Окт-17, 11:49 | ||
Это подтверждает мои слова - cut слишком беден, чтобы решить туже задачу требуется привлечение expr, greb и subshell, в результате вместо одного процесса awk порождается четыре (expr, ``, grep, cut), это помимо ужасной читаемости и масштабируемости, например, потребуется обработка других полей: awk '$4 == "sda"{ print $2":"$1":"$3 / 1024; exit }' /proc/partitions | ||
Ответить | Правка | ^ к родителю #48 | Наверх | Cообщить модератору |
50. "Новая версия языка программирования GNU Awk 4.2.0" | +/– | |
Сообщение от Аноним (??) on 22-Окт-17, 11:41 | ||
> что-то аналогичного обычному awk '$4 == "sda"{ print $3 / 1024; exit }' /proc/partitions ты на нём не сделаешь | ||
Ответить | Правка | ^ к родителю #47 | Наверх | Cообщить модератору |
52. "Новая версия языка программирования GNU Awk 4.2.0" | +1 +/– | |
Сообщение от Noland on 22-Окт-17, 11:57 | ||
>> что-то аналогичного обычному awk '$4 == "sda"{ print $3 / 1024; exit }' /proc/partitions ты на нём не сделаешь | ||
Ответить | Правка | ^ к родителю #50 | Наверх | Cообщить модератору |
54. "Новая версия языка программирования GNU Awk 4.2.0" | –1 +/– | |
Сообщение от Аноним (??) on 22-Окт-17, 12:23 | ||
> Таже проблема, что и у предыдущего решения - порождение лишних процессов | ||
Ответить | Правка | ^ к родителю #52 | Наверх | Cообщить модератору |
56. "Новая версия языка программирования GNU Awk 4.2.0" | +/– | |
Сообщение от Noland on 22-Окт-17, 14:20 | ||
Считаю я правильно, а именно сколько процессов порождалось оболочкой, ещё точнее сколько "clone/fork" и обращений к дисковой подсистеме было совершено. В данном случае на каждый вызов приходится ворох stat-ов (для поиска в PATH, чем он длиннее, тем их больше), clone/fork и exec. Если использовать абсолютные пути, то время немного сократится. Всё это легко увидеть если воспользоваться strace или truss. | ||
Ответить | Правка | ^ к родителю #54 | Наверх | Cообщить модератору |
58. "Новая версия языка программирования GNU Awk 4.2.0" | –1 +/– | |
Сообщение от Аноним (??) on 22-Окт-17, 15:38 | ||
> напомню, что речь шла именно о замене awk на cut | ||
Ответить | Правка | ^ к родителю #56 | Наверх | Cообщить модератору |
60. "Новая версия языка программирования GNU Awk 4.2.0" | –1 +/– | |
Сообщение от Noland on 22-Окт-17, 18:35 | ||
Спору нет, cut удобнее и эффективнее, если речь идёт только о выводе полей при условии однородных разделителей. | ||
Ответить | Правка | ^ к родителю #58 | Наверх | Cообщить модератору |
53. "Новая версия языка программирования GNU Awk 4.2.0" | +/– | |
Сообщение от Noland on 22-Окт-17, 12:12 | ||
Если было бы предложено: | ||
Ответить | Правка | ^ к родителю #50 | Наверх | Cообщить модератору |
55. "Новая версия языка программирования GNU Awk 4.2.0" | +/– | |
Сообщение от Аноним (??) on 22-Окт-17, 12:27 | ||
> Если было бы предложено: | ||
Ответить | Правка | ^ к родителю #53 | Наверх | Cообщить модератору |
57. "Новая версия языка программирования GNU Awk 4.2.0" | +/– | |
Сообщение от Noland on 22-Окт-17, 14:27 | ||
Вопрос читаемости в данном случае очень спорный, а прирост производительности, хоть и незначительный, налицо. | ||
Ответить | Правка | ^ к родителю #55 | Наверх | Cообщить модератору |
59. "Новая версия языка программирования GNU Awk 4.2.0" | +/– | |
Сообщение от Аноним (??) on 22-Окт-17, 15:42 | ||
Спорный или нет, я ориентировался прежде всего на наилучшую читаемость. Мы ж тут не олимпиадные задачки решаем, да и тезис Кнута про корень всех зол никто не отменял. | ||
Ответить | Правка | ^ к родителю #57 | Наверх | Cообщить модератору |
28. "Новая версия языка программирования GNU Awk 4.2.0" | +2 +/– | |
Сообщение от iCat (ok) on 20-Окт-17, 15:39 | ||
>А зачем осиливать значительно более убогий инструмент... | ||
Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору |
35. "Новая версия языка программирования GNU Awk 4.2.0" | –2 +/– | |
Сообщение от angra (ok) on 21-Окт-17, 05:03 | ||
Ты не понимаешь разницу между просмотром и редактированием? Нет, я не редактирую фотографии в paint при наличии photoshop или gimp. | ||
Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору |
33. "Новая версия языка программирования GNU Awk 4.2.0" | –4 +/– | |
Сообщение от Аноним (??) on 21-Окт-17, 01:51 | ||
Сразу видно что cut ты сам ни разу не использовал, иначе ты бы знал почему awk проще cut | ||
Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору |
37. "Новая версия языка программирования GNU Awk 4.2.0" | –2 +/– | |
Сообщение от Поликарпыч on 21-Окт-17, 10:12 | ||
Ты и с блокнотиком и Карела шиком логи проверяй.. Это для настоящих спецов. | ||
Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору |
10. "Новая версия языка программирования GNU Awk 4.2.0" | +1 +/– | |
Сообщение от Andrey Mitrofanov on 20-Окт-17, 11:09 | ||
> А sed не проще, разве? | ||
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору |
17. "Новая версия языка программирования GNU Awk 4.2.0" | –1 +/– | |
Сообщение от VINRARUS (ok) on 20-Окт-17, 13:12 | ||
Ну sed быстрее чем awk, а в последнем релизе даже перегнал сам себя в 80 раз. | ||
Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору |
21. "Новая версия языка программирования GNU Awk 4.2.0" | –1 +/– | |
Сообщение от Аноним (??) on 20-Окт-17, 13:31 | ||
> Проблема в том шо некоторым недопрограмистам очень сложно освоить ключ -е, от | ||
Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору |
25. "Новая версия языка программирования GNU Awk 4.2.0" | +1 +/– | |
Сообщение от Аноним (??) on 20-Окт-17, 14:26 | ||
Хотя на самом деле большинство в sed не осиливает ничего кроме s///. В результате городят жуткие конвейеры из cat|grep|head|tail|sed. | ||
Ответить | Правка | ^ к родителю #21 | Наверх | Cообщить модератору |
24. "Новая версия языка программирования GNU Awk 4.2.0" | +1 +/– | |
Сообщение от Andrey Mitrofanov on 20-Окт-17, 14:25 | ||
> Ну sed быстрее чем awk, а в последнем релизе даже перегнал сам | ||
Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору |
6. "Новая версия языка программирования GNU Awk 4.2.0" | +/– | |
Сообщение от еарапр on 20-Окт-17, 09:49 | ||
Ну, как бы, лисп же лучше. | ||
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору |
9. "Новая версия языка программирования GNU Awk 4.2.0" | +1 +/– | |
Сообщение от Аноним (??) on 20-Окт-17, 10:22 | ||
> Прекращена поддержка платформы GNU/Linux на системах Alpha; | ||
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору |
11. "Новая версия языка программирования GNU Awk 4.2.0" | +/– | |
Сообщение от Iaaa (ok) on 20-Окт-17, 11:42 | ||
Скорее не нашли где потестить, и забили. | ||
Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору |
13. "Новая версия языка программирования GNU Awk 4.2.0" | +/– | |
Сообщение от alex (??) on 20-Окт-17, 11:49 | ||
скорее всего просто не на чем тестить | ||
Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору |
15. "Новая версия языка программирования GNU Awk 4.2.0" | +/– | |
Сообщение от pripolz on 20-Окт-17, 12:08 | ||
> скорее всего просто не на чем тестить | ||
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору |
23. "Новая версия языка программирования GNU Awk 4.2.0" | +/– | |
Сообщение от Аноним (??) on 20-Окт-17, 14:24 | ||
> qemu-system-alpha | ||
Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору |
12. "Новая версия языка программирования GNU Awk 4.2.0" | +/– | |
Сообщение от _bob (ok) on 20-Окт-17, 11:44 | ||
http://www.newlisp.org/ -- довольно неплох. | ||
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору |
32. "Новая версия языка программирования GNU Awk 4.2.0" | –2 +/– | |
Сообщение от freehck (ok) on 20-Окт-17, 23:50 | ||
> Нарушена бинарная совместимость для C API, Си-приложения связанные с gawk требуют пересборки; | ||
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору |
42. "Новая версия языка программирования GNU Awk 4.2.0" | +/– | |
Сообщение от Аноним (??) on 21-Окт-17, 14:01 | ||
> Простите, может быть я наивен, но что надо сделать с библиотекой, чтобы | ||
Ответить | Правка | ^ к родителю #32 | Наверх | Cообщить модератору |
49. "Новая версия языка программирования GNU Awk 4.2.0" | +3 +/– | |
Сообщение от angra (ok) on 22-Окт-17, 11:20 | ||
Если удалить функции, то изменится еще и API. Наверное самый простой способ поломать ABI без API это изменить что-либо из экспортируемых типов или структур. | ||
Ответить | Правка | ^ к родителю #32 | Наверх | Cообщить модератору |
63. "Новая версия языка программирования GNU Awk 4.2.0" | +/– | |
Сообщение от freehck (ok) on 24-Окт-17, 11:52 | ||
> Наверное самый простой способ поломать ABI без API это изменить | ||
Ответить | Правка | ^ к родителю #49 | Наверх | Cообщить модератору |
62. "Новая версия языка программирования GNU Awk 4.2.0" | +/– | |
Сообщение от vantoo (ok) on 23-Окт-17, 13:39 | ||
В свое время перечитал от корки до корки "Gawk: Effective AWK Programming" и не пожалел. Использую его где только это может пригодится. | ||
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору |
Архив | Удалить |
Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема |
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |