URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 128357
[ Назад ]

Исходное сообщение
"Новая версия интерпретатора GNU Awk 5.2"

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

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


Содержание

Сообщения в этом обсуждении
"Новая версия интерпретатора GNU Awk 5.2"
Отправлено InuYasha , 05-Сен-22 10:22 
Секретная команда, о которой все думают, что это хитрый print, а это целый ЯП :)

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Аноним , 05-Сен-22 15:31 
Я так не думаю, мне по работе часто приходится его юзать чтоб просуммировать столбы в CSV файле, или написать аналог sql'ного group by. Очень офигенный ЯП.

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Alex , 05-Сен-22 18:11 
Эта штука удобней
https://www.gnu.org/software/datamash/examples/

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Аноним , 05-Сен-22 21:10 
> о которой все думают

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


"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Аноним , 06-Сен-22 11:57 
В sed можно вывести текст начиная с одного регекса и до другого? Сразу все такие случаи? Если честно что sed, что awk — достаточно сложные тулзы для понимания принципов работы с ними. sed только ради s// режима и использую

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено barmaley , 05-Сен-22 10:23 
В баше не претерпевшем изменений с начала 90-х использовать авк из 80-х, замечательно, все продвинутые уже давно положили х на это старье и юзают питон/луа/павершелл

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Дмитрий , 05-Сен-22 10:27 
AWK максимально удобен, когда тебе надо быстренько отфильтровать значения в выводе одной тулзы и передать в другую

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Аноним , 05-Сен-22 10:30 
максимально удобен: быстренько лезем в гугл и стековерфлоу осваивать инструментарий из 80-ых

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Аноним , 05-Сен-22 10:35 
Я так понимаю луа/powershell интуитивно понятен и можно сразу писать скрипны нечего не зная про язык?

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Аноним , 05-Сен-22 10:39 
интуитивно понятна только сися. А у остальных инструментов ключевой является распространенность. И уж извини, но пихтон знают куда больше людей. Более того, на разбор строки в пихтоне не приходится запускать аж целый новый процесс /usr/bin/awk - вся работа внутри одного процесса, так что технически даже пихтон (ключевое слово - "даже") лучше баш-портянок на awk.

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Аноним , 05-Сен-22 17:26 
А распространенность оценивается по звездочкам на гитхабе.

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Аноним , 05-Сен-22 22:18 
Ну так пиши на питоне дальше раз не нравится awk. Смысл токсить?

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Аноним , 06-Сен-22 11:59 
Какой смысл писать скрипты на питоне для людей, которые скорее всего даже строки толком парсить не умеют?

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Аноним , 05-Сен-22 11:25 
питон ты специально пропустил?) потому что к нему это применимо

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Аноним , 05-Сен-22 11:27 
Чисто для разнообразия попробуй пописать питоновский код интерактивно в консоли. Не одну команду а вот прям всё с этими идиотскими отступами. Я на тебя посмотрю, а если тебе даже и понравится то так тебе и надо.  

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Просто , 05-Сен-22 11:44 
Однострочник детектед

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Аноним , 05-Сен-22 13:50 
>Чисто для разнообразия попробуй пописать питоновский код интерактивно в консоли.

Я из-за этого уже третий год плачу по лиспу, но работаю пыхтонистом.

И ещё сильнее плачу кровавыми слезами, когда питонисты что-то там заливают про pep8 (который ломает шелл) или tdd (сразу видно, что они шеллом не пользуются и зачем-то лабают код на скриптовом языке сверху вниз).


"Новая версия интерпретатора GNU Awk 5.2"
Отправлено fuggy , 05-Сен-22 14:08 
А что делать тем кто не знает питон или у кого на системе не установлен питон?

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Аноним , 06-Сен-22 12:01 
Съезжай с винды. Питон сейчас наверное даже в холодильнике есть (надеюсь что нет, но всё же)

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено barmaley , 06-Сен-22 09:25 
Покажи мне хоть один интуитивно понятный язык на котором можно сходу начать писать не изучая и не гугля

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Аноним , 06-Сен-22 12:02 
Паскаль :D

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Урри , 05-Сен-22 10:37 
Чтобы эффективно работать - надо учиться. Прикинь, да?

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Аноним , 05-Сен-22 10:42 
Думаешь, запустил "хелловорлд под 17 платформ одним скриптом" - и уже чему-то научился?

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Урри , 05-Сен-22 11:33 
Ты смотри-ка, меня читают ))

Естественно научился!
После хелловорлда запустил... ’awk 'END{print NR}'’ (в тему, да), ща...
сишный проект в 9095 строк и оно работает. Везде.

Сижу вот сейчас под арм фикшу, автотесты регрессию нашли.


"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Аноним , 05-Сен-22 14:11 
> сишный проект в 9095 строк

Ничосе! Это такой хеллоуволд продвинутый что столько кода?

> под арм фикшу

так "оно работает. Везде." или таки приходится подпиливать под платформы?))


"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Аноним , 05-Сен-22 17:08 
«Кроссплатформенность» сишечки она такая.

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Аноним , 06-Сен-22 12:05 
Вы специально троллите или думаете, что абсолютно весь когда-либо написанный код должен за вас взять и заработать? Спасибо, в том же питухоне проблему многопоточности решили не решать и просто запретили исполнять один и тот же _КУСОК_КОДА_ (КАРЛ) в разных потоках. А shared memory приходится переводить в сишные типы данных. ММммм

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Аноним , 06-Сен-22 12:22 
Нисколько не троллю. Просто человек пишет (в контексте 17 платформ) что его код работает везде, а следующей строкой что на арме полезла регрессия. Такое вот забавное двоемыслие.
И причем тут питон с мультитредингом?

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено YetAnotherOnanym , 05-Сен-22 11:48 
Незачем там лезть ни в гугл, ни на стековерфлоу. Авк настолько минималистичен, что достаточно потратить полчаса на курение ман-страницы, чтобы начать на нём писать.

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Аноним , 05-Сен-22 13:30 
> быстренько
> потратить полчаса на курение ман-страницы

Когда в следующий раз понадобится — повторить.


"Новая версия интерпретатора GNU Awk 5.2"
Отправлено ммнюмнюмус , 05-Сен-22 20:08 
Для гнутых лучше через info, которые обычно более подробны.

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено ilowry , 05-Сен-22 13:11 
Да, именно, "быстренько". AWK прост, и поэтому его можно не учить. Поэтому "быстренько" лезем и "быстренько" делаем.  

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено ммнюмнюмус , 05-Сен-22 20:10 
Главное - скоростной. Хотя читал, что perl ещё быстрее (хотя потребление памяти больше).

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Аноним , 05-Сен-22 13:48 
Сразу видно мелкобукву, ведь мелкобуква так и не научилась читать маны.

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено ммнюмнюмус , 12-Сен-22 20:06 
> Сразу видно мелкобукву, ведь мелкобуква так и не научилась читать маны.

Больше манов прочитаешь - меньше маны потеряешь.


"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Жироватт , 05-Сен-22 10:54 
...довольный Вася набил язвительный ответ на неизменной с середины XIX века доске-с-буквами, а затем навел курсор изобретённого в 50х манипулятора и нажал на виртуальное изображение не менявшейся с XVI века кнопки. Васин ответ был разбит на пакеты протоколом 70х годов и передан по сети по принципам 80х. Сервер, не претерпевший принципиальных переработок с 90х, как обычно, послушно и предсказуемо собрал пакетики протокола 70х воедино, а затем на высветил его на страничке, оформленной языком 90х. "Как хорошо, что есть такой новый стафф, как луа и повершелл", думал Вася, закрывая неизменное по сути и по реализации с 70х окно такой же древней абстракцией еще более древнего предмета реального мира - виртуальной кнопкой "закрыть"...

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Аноним , 05-Сен-22 11:28 
Тебе как обычно шашечки, а не ехать. Какая разница в каком году что было изобретено?

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Аноним , 05-Сен-22 13:38 
просто его папа в нулевых сделал и у него развился комплекс неполноценности всего что старше него.

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Жироватт , 05-Сен-22 13:46 
Мне нравится иногда тыкать "новоделов" в то, что их свеженький компьютер работает в том числе и на технологиях конца девятнадцатого века и тому подобное... Говорят, им это очень нравится и они начинают гореть. Ну почему бы не помочь другу, а?

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Аноним , 05-Сен-22 18:49 
> в том числе и на технологиях конца девятнадцатого века

В «том числе» он и на технологиях пятитысячелетней давности работает (стекло в дисплеях, например). Но вот именно свеженький компьютер без технологий 21 века немыслим.


"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Аноним , 05-Сен-22 14:12 
lua то тут каким боком - крошечный встраиваемый язык, из коробки там почти ничего нет

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено barmaley , 05-Сен-22 17:51 
Прикинь - в луа мощная и эффективная работа со строками и регулярными выражениями, даже проще чем в авке, ты незнал?

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Аноним , 06-Сен-22 12:10 
У него память текёт. Хз, может это разрабы awesome набедокурили, но когда wm вырастает с 30k до 500M под утро, становится страшновато

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Аноним , 05-Сен-22 15:45 
А Tesla — неизменный по сути автомобиль столетней давности.

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Клыкастый , 05-Сен-22 20:13 
> А Tesla — неизменный по сути автомобиль столетней давности.

Да ещё и колёсный, что вообще неприличная древность.


"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Аноним , 05-Сен-22 14:57 
И много юзающих Паршел в GNU/Linux?

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Аноним , 05-Сен-22 15:54 
Так и есть. Только все эти артефакты из 70-х.

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Клыкастый , 05-Сен-22 19:49 
powershell? продвинутые? Тут явно лишнее "про". В обоих смыслах.

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Аноним , 06-Сен-22 03:54 
> юзают питон/луа

python: 1991 год
lua: 1993 год


"Новая версия интерпретатора GNU Awk 5.2"
Отправлено barmaley , 06-Сен-22 09:29 
Год начала разработки, последний выпуск луа 5.4 - 2020 год, питон 3.10.6 - 2022

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Anonymus , 10-Сен-22 16:42 
>Год начала разработки, последний выпуск луа 5.4 - 2020 год, питон 3.10.6 - 2022

GNU Awk 5.2 - 2022


"Новая версия интерпретатора GNU Awk 5.2"
Отправлено OpenEcho , 06-Сен-22 05:03 
> все продвинутые уже давно положили х на это старье

Судя по минусам, Х ВСЕ положили на тебя :)


"Новая версия интерпретатора GNU Awk 5.2"
Отправлено lk_ , 06-Сен-22 10:03 
Продвинутые не ставят в систему лишние интерпретаторы, дабы соблюдать правило Оккамы. Ну плоди лишних сущностей. Питоняшку знает Васька-дрочер с соседнего подъезда. И может нагадить на твоей системе, просто ради прикола, скачав скриптик, чтобы почувствовать себя хацкером. А чтобы познать AWK и создать на нём скрипт взламывающий систему, или меняющий привилегии нужно ЗНАНИЕ из 80-х :-) А значит увеличивается защищённость системы.Помимого того что оно уже есть по умолчанию, а питончки, луи и срань страшная(виндузовая) надо ещё ставить. Выделять память и т.д и т.п.

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Урри , 05-Сен-22 10:35 
И никаких ошибок работы с памятью!

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Жироватт , 05-Сен-22 10:44 
Ну щито поделать. Писали представители высшей цивилизации же, вымершей в 90х-00х. А на смену им родили жиробасов, не могущих даже указатель правильно взять, не говоря уже про кучу и сложнее.

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Урри , 05-Сен-22 11:29 
Да, мы вымираем. Пичалька.

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Урри , 05-Сен-22 10:39 
> Прекращена поддержка операционных систем OS/2 и VAX/VMS.

Не смогли найти рабочих виртуалок?


"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Аноним , 05-Сен-22 12:03 
Если не затруднит, накидай пожалуйста скриптец как их сделать. Хотя бы OS2 на KVM. Никак не могу разобраться с сетью, и желательно бы какой-нибудь SSH прикрутить и файл-трансфер.

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Урри , 05-Сен-22 13:25 
Зачем тебе квм? Полуось даже в эмуляции будет бегать раз в 200 быстрее ваших последних линуксов.

И какие проблемы с сетью? куэму из коробки предоставляет нат, а так же проброс портов с хоста на гостя в 5 слов. полно факов в интернете.


"Новая версия интерпретатора GNU Awk 5.2"
Отправлено ryoken , 05-Сен-22 13:40 
>>Никак не могу разобраться с сетью

Мнээ... В свойствах виртуалке втыкнуть e1000e или (не к ночи будь помянут) rtl8139?


"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Михрютка , 05-Сен-22 14:30 
> Не смогли найти рабочих виртуалок?

не смогли найти рабочих мейнтейнеров.

кстати поддержку для dos тож дропнули

> Similarly, support for DJGPP has been removed. It also was not

    being actively maintained.

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


"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Бывалый смузихлёб , 05-Сен-22 10:42 
> AWK до сих пор активно используется администраторами для выполнения рутинных работ,
> связанных с разбором различного рода текстовых файлов

На опеннет, вроде, примерно то же самое и про перл говорили


"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Аноним , 06-Сен-22 18:49 
C, bash, awk, sed, grep - это Юниксовая классика. А Perl, ну так исторически сложилось, что он гармонично слился с миром Юникс-подобных систем. Из новых языков Python хорошо гармонирует с GNU/Linux.

Короче, про эти инструменты всегда так будут говорить.


"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Аноним , 05-Сен-22 11:28 
Вот буквально пару дней назад делал скрипт для скачивания зависимостей из многомодульного ява-проекта с gradle сборкой. AWK просто вещь. У него настолько простая структура программы (считай список регэкспов с привязанными действиями, если матч), что забыть невозможно.

Да вот кусочек этого скрипта:

#!/bin/bash

# Список искомых пакетов зависимостей
PACKAGES=$(cat <<EOF
com.vk.api:sdk
io.minio:minio
com.zaxxer:HikariCP
EOF)

# Набор задач gradle которые выполнятся для поиска в их выводе зависимостей
TASKS="buildEnvironment dependencies "
TASKS+=$(./gradlew --console plain -q projects | gawk 'tolower($0) ~ /project \x27:/{gsub("[^A-Za-z]", "", $3);print $3":dependencies"}' | sort -u)

deps=()

for task in $TASKS; do
    echo "Checking $task"
    log=$(./gradlew --console plain -q $task)

    for package in $PACKAGES; do
        dep=$(echo $log | gawk -v dep="$package" 'match($0, dep":([0-9.]+)", groups) {print groups[0]; exit(1);}')

        if [ $? -eq 1 ]; then
            echo found $dep
            deps+=("$dep")
        fi
    done
done

# Оставляем только уникальные зависимости
deps=($(for dep in "${deps[@]}"; do echo $dep; done | sort -u))
echo "All deps: ${deps[@]}"

дальше wget'ом по deps, но это не имеет отношения к делу)


"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Урри , 05-Сен-22 11:35 
Нет бы простыню на питоне или расте нагородить? С билд-системой, зависимостями и обязательным обновлением всего и вся через интернет, который (скрипт, не интернет, тьфу-тьфу-тьфу) через полтора года перестанет работать...

Ты прям как динозавр какой-то. Стыдно, товарищъ! Надо идти в ногу со временем!


"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Аноним , 05-Сен-22 11:58 
А теперь попробуй это отдебажить, сказочник.

Кстати, всё это старьё ещё и очень медленное. Медленнее даже Python.


"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Аноним , 05-Сен-22 15:02 
Лучше на JS с NPM'ами.

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено InuYasha , 05-Сен-22 23:09 
Наш человек ) Ну, почти. Я б ещё точки с запятой расставил для предотвращения UB и си-стайла ))

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Аноним , 05-Сен-22 12:02 
Зачем вообще нужны sed и awk, если уже есть перл и баш? Они тоже в умолчальной поставке идут.

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Аноним , 05-Сен-22 12:51 
Можно без perl. А bash без внешних утилит плохо обрабатывает тексты (как раз через sed/grep/awk он их и обрабатывает). Можно попробовать обойтись cut,column и прочим из coreutils, но это будет очень сложно.

По месту надо решать, как-то раз хотел сделать на bash синхронизацию двух разных БД (MySQL и Firebird, через cli-утилитки работы с базами) и в итоге ВНЕЗАПНО сделал скрипт на PHP. Поскольку скрипт был нужен для сайтов, сайты были на php и драйверы для СУБД были установлены. Так получилось меньше зависимостей (т.к. php и драйверы СУБД всё равно устанавливались для работы сайтов, а скрипт запускался на том же сервере по крону).


"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Аноним , 05-Сен-22 13:52 
>sed

sed -i 's/очепятка/правка/' ./ochepyatk*
>awk

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


"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Михрютка , 05-Сен-22 14:15 
> найти: время отрабатывания запроса, зная время отправки и время получения ответа.

тут одним awk не справиться. тут bc нужон.



"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Аноним , 05-Сен-22 14:20 
bc - это консольный калькулятор. Вы о чём?

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Михрютка , 05-Сен-22 19:29 
если есть txtime и rxtime, для получения времени в пути хватит обычного калькулятора. да даже баша. авк-то зачем?

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено john_erohin , 05-Сен-22 18:07 
> дано: логи
> найти: время отрабатывания запроса, зная время отправки и время получения ответа.

вот это я буду считать перлом, и плевать что медленнее.
вручную переводить даты-времена в форматах RFC 6666 в unix time и обратно, рискуя напрограммировать ошибок при переходе границ часа-суток-месяца - да ну нафиг.


"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Михрютка , 05-Сен-22 19:26 
лол будто c localtime() у тебя меньше возможностей налажать, чем c mktime()

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено john_erohin , 05-Сен-22 22:43 
> лол будто c localtime() у тебя меньше возможностей налажать, чем c mktime()

https://metacpan.org/dist/Time-C


"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Михрютка , 05-Сен-22 23:02 
facepalm.jpg

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено john_erohin , 05-Сен-22 23:57 
а если так:
https://metacpan.org/pod/Date::Calc

($Dd,$Dh,$Dm,$Ds) = Delta_DHMS($year1,$month1,$day1, $hour1,$min1,$sec1,
$year2,$month2,$day2, $hour2,$min2,$sec2);


"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Михрютка , 06-Сен-22 00:59 
ёёёёёё

товарищ, ты реально не вкупаешь, почему я сфейспалмил?

что с авковым mktime, что с перловым localtime, что с твоими нагугленными модулями из сипана - ты должен дать им на вход одни и те же данные, определяющие декретное/фуетное время в твоей местности, а получить в ответ unix time.

я не знаю, как тут можно не увидеть мой пойнт - вероятность налажаться с параметрами у тебя совершенно одинаковая что в авке, что в перле. в случае с date::calc даже выше, т.к. там я не вижу например в параметрах dst.

зы я старый дурак птушо спутал localtime и timelocal. все остальное still stands


"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Михрютка , 05-Сен-22 14:34 
awk нужен ленивым админам, которым лень запоминать все ети ключики для cut, когда есть замечательный awk "{print $2,$4}"

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено lk_17216437 , 06-Сен-22 10:19 
Всё проверяется временем. В Линухе есть поделка никому не нужна, она не выживает. Если есть пользователи, значит оно кому-то нужно. Баш в обработке текста, ещё то ГОМНО. Перл вообще птичий язык. AWK просто прекрасен :-) Особенно когда тебе нужно из вывода ps выдернуть 2 и 4 столбец. А лезть и искать флаги, в лом. делаешь просто. ps aux|awk "print {$2, $4)" и занимаешься своими делами. А не шастаешь по манам ps :-)

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено ryoken , 05-Сен-22 12:24 
Гм... Если у AWK "преклонный возраст", то ASM что - умер вообще?

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Аноним , 05-Сен-22 13:32 
Не, он в мавзолее и каждый прогер должен хотя бы раз на него глянуть. С уверенностью знать, что ASM был, есть и будет. Хоть раз должен попробовать написать хоть что-нибудь на ASM, т.е. программировать, программировать и еще раз программировать. А дальше уже, как любой образованный, может вставлять в свой код инлайн-цитаты из ASM. Понять путь компиляции и борьбу с ООП-классовым мышлением, историю типа узер взял в руки шыло и сделал дырку в картонке и сразу начал программировать. Ну и конечно объяснять всё это разным невеждам на сайтах.

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Жироватт , 05-Сен-22 13:47 
Учение х86-ассемблера вечно, потому что правильно!

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено n00by , 05-Сен-22 14:40 
Учить сейчас х86 - разве что бы отбить навсегда желание сеансом некрофилии с DOSBox. Тогда уж смотреть какой эмулятор PDP-11, там хоть опкоды красивы. На реальном железе проще и понятнее IA32 с плоской моделью памяти, а ещё лучше AMD64 под Linux (и *BSD годятся) - системные вызовы понятны как в той ДОСе, плюс современные удобные способы адресации.

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено n00by , 05-Сен-22 15:06 
Всегда приятно узнать, что тут тусит эксперт по асму, которому возразить очень хочется, но по существу нечего.

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Аноним , 05-Сен-22 15:08 
В 2022-м учить CISC-ассемблеры?

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено n00by , 05-Сен-22 15:13 
Я и пишу про то, что на 16-ти битный точно не стоит тратить время (разве что есть знакомый учитель и книжки Финогенова). Если же это такая ненавязчивая реклама RISC-V, то его для этого надо сначала купить, а AMD64 как бы у всех итак есть.

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Михрютка , 05-Сен-22 18:56 
> же это такая ненавязчивая реклама RISC-V, то его для этого надо
> сначала купить, а AMD64 как бы у всех итак есть.

можно купить qemu и гойдаться :)


"Новая версия интерпретатора GNU Awk 5.2"
Отправлено n00by , 06-Сен-22 10:58 
Не понял, что такое гойдаться, и подозреваю, что поисковик лучше не спрашивать. :) QEMU это примерно как Эльбрус по ssh или нюхать розы в противогазе, а AMD64 это flat assembler написанный на самом себе и с исходниками.

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Михрютка , 06-Сен-22 12:51 
> Не понял, что такое гойдаться, и подозреваю, что поисковик лучше не спрашивать.

- дети Ивановых, такие байстрюки, это невозможно! тетя Роза повесила лифчик сушиться, они сделали из него гамак и гойдаються!

> QEMU это примерно как Эльбрус по ssh или нюхать розы в противогазе

да нормуль, я под ним в позапрошлом году даже aix на спор запускал. это, конечно, было медленно и печально, но до uname я дождался. risc-v, думаю, ваще летать будет, быстрее, чем на реальном железе :)


"Новая версия интерпретатора GNU Awk 5.2"
Отправлено n00by , 06-Сен-22 13:48 
Запустить, тем более на спор, это пол дела.
Надо же ещё что-то сассемблировать.
На AMD64 это как два байта переслать:

$ cat  fasm_samples/console/00/a00.fasm
; fasm demonstration of writing 64-bit ELF executable
; note that linux from kernel 2.6.??? needs last segment to be writeable
; else segmentation fault is generated
; compiled with fasm 1.66

; syscall numbers: /usr/src/linux/include/asm-x86_64/unistd.h
; kernel parameters:
; r9    ; 6th param
; r8    ; 5th param
; r10    ; 4th param
; rdx    ; 3rd param
; rsi    ; 2nd param
; rdi    ; 1st param
; eax    ; syscall_number
; syscall
;
; return register:
; rax    ; 1st
; rdx    ; 2nd
;
; preserved accross function call: RBX RBP ESP R12 R13 R14 R15
;
; function parameter (when linked with external libraries):
; r9    ; 6th param
; r8    ; 5th param
; rcx    ; 4th param
; rdx    ; 3rd param
; rsi    ; 2nd param
; rdi    ; 1st param
; call library

format ELF64 executable at 0000000100000000h    ; put image over 32-bit limit

segment readable executable

entry $

    mov    edx,msg_size    ; CPU zero extends 32-bit operation to 64-bit
                ; we can use less bytes than in case mov rdx,...
    lea    rsi,[msg]
    mov    edi,1        ; STDOUT
    mov    eax,1        ; sys_write
    syscall

    xor    edi,edi        ; exit code 0
    mov    eax,60        ; sys_exit
    syscall

segment readable writeable

msg db 'Hello 64-bit world!',0xA
msg_size = $-msg


$ fasm  fasm_samples/console/00/a00.fasm
flat assembler  version 1.73.12  (16384 kilobytes memory)
3 passes, 229 bytes.


$ ./fasm_samples/console/00/a00
Hello 64-bit world!


А для RISC-V где вот эти удобства?

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Аноним , 05-Сен-22 19:30 
Купить горстку микроконтроллеров CH32V307VCT6 (RCT6) не такая уж большая проблема. Да и, при желании, можно и чипок с MMU Allwinner D1 (D1s).

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено n00by , 06-Сен-22 10:05 
«Купить» - то есть сначала подождать с месяц, потом думать «и что со всем этим делать», потом искать примеры.. Вы лично кого-то научили кодить под это?

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено SysA , 05-Сен-22 19:14 
Согласен, на PDP-11 была самая простая и логичная система команд и, как следствие, красивый ассемблер! Одни и те же команды для работы с регистрами, памятью, стеком и портами внешних устройств... К тому же в любых комбинациях между ними! Это существенно упрощало отладку и эмуляцию при необходимости... Ностальгия!

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено n00by , 06-Сен-22 10:03 
Я не кодил под PDP-11, только на Z80 и немного на 6502, но когда надо было разобрать игрушку для БКшки, за пару часов свободно его освоил и прочитал дамп. x86 с его «640К хватит на всех» - это дрянь, внедрённая джедаями и рептилоидами, что бы убить ассемблер и внедрить Microsoft Pascal (поделом, что Borland их хоть с Паскалем переиграл), или как он там назывался. Специально повторю для тех ностальгирующих, кто ничего более в жизни не видел. :)

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Аноним , 05-Сен-22 12:29 
> код поддержки Cmake оказался не востребован и пять лет не обновлялся

Это Ъ. Только autotools, только хардкор!

P.S. На самом деле правильно, для мелких систем с образом в десяток мегабайт (типа всяких роутеров) не будут специально собирать CMake-монстра.


"Новая версия интерпретатора GNU Awk 5.2"
Отправлено pashev.ru , 05-Сен-22 12:40 
> Прекращена поддержка операционных систем OS/2 и VAX/VMS.

Уходит эпоха.


"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Пряникё , 05-Сен-22 18:41 
Какая эпоха, о чем вы?
OS/2 лежит на кладбище уже много лет как. Впрочем, как и VAX/VMS.

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено SysA , 05-Сен-22 19:21 
Согласен, их эпоха закончилась давно. И очень жаль, что полуось не прижилась - это была прекрасная ОС для того времени: масштабируемая, с реальной мультизадачностью и превосходной поддержкой внешних устройств, в отличие от ДОСа.

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Аноним , 06-Сен-22 18:37 
И конечно же вы оплакиваете проприетарные ОС?

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Аноним , 05-Сен-22 19:41 
Живую OS/2 видел, немного пользовался. А вот слово VAX/VMS, наверное, только в журнале Компьютер Пресс встречал.

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Аноним , 05-Сен-22 13:48 
кстати есть неплохое интервью с Брайан Керниган где есть упоминание про awk
https://www.youtube.com/watch?v=9tqMtgQIoj0

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Михрютка , 05-Сен-22 14:12 
lol

он даже доси его патчит, вон юникод запилил.

я в новости это кидал неделю назад, но новость оказалась недостаточно выдающаяся и модеры ее удалили.

ну а фуль, это вам не свежий тиобебебе или переписывание программы true на расте, хто там вообще про k из awk помнит.


"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Михрютка , 05-Сен-22 15:29 
а не, нифига

приношу свои извинения модераторам, это я где-то протупил, новость на месте.

"80-летний канадец на смог справиться с интерфейсом Github"

https://www.opennet.ru/openforum/vsluhforumID3/128270.html?n...


"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Аноньимъ , 05-Сен-22 16:57 
Понимаю этого канадца.
Не понимаю что нужно было принимать чтобы гит придумать и каким образом это стало настолько популярным.

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено чтобы гит придумать , 06-Сен-22 13:29 
Теорию графов нужно принимать для этого, тогда всё на место встаёт.

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Maxim Chirkov , 05-Сен-22 16:05 
> я в новости это кидал неделю назад, но новость оказалась недостаточно выдающаяся и модеры ее удалили.

Вы новость вместо формы отправки новостей скинули в форум, поэтому она и осталась незамеченной. Сам текст остался  https://www.opennet.ru/openforum/vsluhforumID3/128270.html

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


"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Михрютка , 05-Сен-22 16:49 
Спасибо за разъяснение :)

"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Аноним , 05-Сен-22 14:17 
>Отмечается, что реализация режима MPFR в GNU Awk рассматривается как ошибка.

Поясните, это как? Поддержку функционала из пакета MPFR вообще не надо было делать?


"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Facemaker , 05-Сен-22 16:58 
Я так и понял.

Кстати, существует реализация awk на Rust.


"Новая версия интерпретатора GNU Awk 5.2"
Отправлено beck , 05-Сен-22 22:24 
Прелесть awk например на винде, что нужен ровно один exe-шник для запуска скрипта.

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


"Новая версия интерпретатора GNU Awk 5.2"
Отправлено Alladin , 07-Сен-22 08:40 
костяк языка.. это сильно