|
2.2, Дон Ягон (?), 21:19, 12/04/2019 [^] [^^] [^^^] [ответить]
| +5 +/– |
Шутишь? Awk/Gawk вполне себе полезны, когда тащить perl/python избыточно.
Хотя, наверное, в большинстве линуксов сейчас python из коробки..
Это не есть плохо, но и не отменяет полезности awk.
| |
|
3.19, AnonPlus (?), 00:55, 13/04/2019 [^] [^^] [^^^] [ответить]
| +4 +/– |
Во всяких дистрибутивах для роутером и прочей маломощной техники - самое то. Питона там из коробки нет
| |
|
4.21, Дон Ягон (?), 01:30, 13/04/2019 [^] [^^] [^^^] [ответить]
| +4 +/– |
> Во всяких дистрибутивах для роутером и прочей маломощной техники - самое то.
> Питона там из коробки нет
В *BSD, например, тоже. И в полноценных дистрибутивах linux некорторых, наверняка, тоже. Я просто не помню уже.
На мой взгляд, awk и python не следует противопоставлять, это инструменты разного калибра.
| |
|
5.39, пох (?), 01:01, 14/04/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
> И в полноценных дистрибутивах linux некорторых, наверняка, тоже
они не могут считаться полноценными, поскольку редхатобиэм пропихнул пихон в стандарт LSB.
Единственные полноценные дистрибутивы, которые рискнули в конце-концов от него отойти, пихон как раз тщательно сохранили, и это убудебиан, там без него давным-давно ничего не работает.
> На мой взгляд, awk и python не следует противопоставлять, это инструменты разного калибра.
это просто кто-то не видел smtp сервера на awk.
| |
|
6.40, Дон Ягон (?), 02:18, 14/04/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
>> И в полноценных дистрибутивах linux некорторых, наверняка, тоже
> они не могут считаться полноценными, поскольку редхатобиэм пропихнул пихон в стандарт LSB.
> Единственные полноценные дистрибутивы, которые рискнули в конце-концов от него отойти, пихон как раз тщательно сохранили, и это убудебиан, там без него давным-давно ничего не работает.
Поверю на слово - давно не интересовался подобным. На мой взгляд, python лишний в базовой системе, а так - нормальный язык. В своей нише.
>> На мой взгляд, awk и python не следует противопоставлять, это инструменты разного калибра.
> это просто кто-то не видел smtp сервера на awk.
Не видел. Видел веб-сервер на sh (может на bash - уже точно не помню) и тетрис на sed. И что? Троллейбус_из_батона.jpg
Полезность и нужность awk безусловна, но областей применения у python больше. И это не делает awk хуже. Просто такой вот расклад и всё, разные области применения - это нормально.
| |
|
|
|
|
|
3.45, x3who (?), 02:10, 15/04/2019 [^] [^^] [^^^] [ответить]
| +/– |
> grep -R awk /etc
/etc/libreport/ignored_words.conf:hawkey
!?
| |
|
2.6, myhand (ok), 21:37, 12/04/2019 [^] [^^] [^^^] [ответить]
| +2 +/– |
В POSIX.1-2017, например. Если это вам о чем-то говорит.
| |
|
3.27, Аноним (27), 10:33, 13/04/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
То есть имеет не меньшее значение, чем такие востребованные утилиты, как asa, comm, compress, csplit и т. д. до uux.
| |
|
4.28, myhand (ok), 11:00, 13/04/2019 [^] [^^] [^^^] [ответить]
| +/– |
> То есть имеет не меньшее значение, чем такие востребованные утилиты, как asa,
> comm, compress, csplit и т. д. до uux.
Нет. asa, compress, uux - опциональны. Вот как comm, csplit - только более универсальная утилита.
| |
|
|
2.7, VINRARUS (ok), 21:40, 12/04/2019 [^] [^^] [^^^] [ответить]
| +7 +/– |
> Простите, а этот экспонат где-нибудь используется, кроме музея?
За такое не прощают.
| |
2.9, IRASoldier (?), 22:06, 12/04/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
Не знаю насчёт "GNU", но вот Awk разрабатывали Ахо (A), Керниган (K), кто третий (W) - навскидку не помню, гуглить сейчас лениво. Если эти фамилии что-то говорят - объяснять значимость сабжа не нужно, если не говорят - можно только посочувствовать вопрошающему.
| |
|
3.26, Аноним (27), 10:23, 13/04/2019 [^] [^^] [^^^] [ответить]
| +/– |
Они за свою жизнь написали огромную прорву софта, про большую часть которого сейчас не вспомнит никто, включая их самих. Так что само по себе авторство — не аргумент.
| |
|
4.46, x3who (?), 02:15, 15/04/2019 [^] [^^] [^^^] [ответить]
| +/– |
В любом случае это было бы прекрасное средство обработки потоков строк если бы не менялось так часто - до сих пор встречаются системы, на которых куча новых фишек не работает, не говоря уж об том новом всём.
| |
|
5.53, Аноним (27), 12:06, 15/04/2019 [^] [^^] [^^^] [ответить]
| +/– |
> это было бы прекрасное средство обработки потоков строк если бы не менялось так часто
sudo apt install original-awk
| |
|
|
|
2.14, Ано. (?), 22:30, 12/04/2019 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Простите, а этот экспонат где-нибудь используется, кроме музея?
В каких-то кассовых аппаратах.
Оно настолько эффективно, что востребовано.
Утилиты и ком.строка - АПИ к _любой_ функции системы. AWK - тула и разбора и формирования ответов АПИ.
Как наган для коммисара в деревне.
| |
2.17, Аноним (27), 00:13, 13/04/2019 [^] [^^] [^^^] [ответить]
| –6 +/– |
> Простите, а этот экспонат где-нибудь используется, кроме музея?
Он используется всеми, откомментившими выше, и прочими неосиляторами cut(1) в одностроках уровня { print $1 }. А так, чтобы для серьёзных скриптов, нет.
| |
|
3.18, VINRARUS (ok), 00:50, 13/04/2019 [^] [^^] [^^^] [ответить]
| –1 +/– |
Неосиляторы shell пользуются всем шо под руку попадёт, токо бы не читать и анализировать файл самим shell.
SED(){
#bu VINRARUS
while read LINEAGE_2
do
case "$LINEAGE_2" in
Swap*)
echo "Slowpoke${LINEAGE_2#Swap}"
;;
*)
echo "$LINEAGE_2"
;;
esac
done
}
SED < /proc/meminfo
| |
3.22, Аноним84701 (ok), 03:27, 13/04/2019 [^] [^^] [^^^] [ответить]
| +6 +/– |
>> Простите, а этот экспонат где-нибудь используется, кроме музея?
> Он используется всеми, откомментившими выше, и прочими неосиляторами cut(1) в одностроках уровня { print $1 }.
А можно увидеть аналоги на cut(1) от осиляторов?
awk '$1 > 10 && $1 < 30{sum+=$2} END {print "Sum;"sum, "Avg:"sum/NR}'
# фильтруем дубликаты
awk '!filter[$0] {print $0}{filter[$0]++}'
# используем второе поле из первого файла в качестве критерия выборки строк второго
awk 'FNR==NR{id[$2]=$1} FNR<NR {if (id[$1]) print $0}'
| |
|
4.25, Аноним (27), 10:06, 13/04/2019 [^] [^^] [^^^] [ответить]
| –4 +/– |
> А можно увидеть аналоги на cut(1) от осиляторов?
А можно увидеть не искусственные примеры, а реальные?
> фильтруем дубликаты
См. sort(1), uniq(1). И не надо рассказывать, что порядок строк важен, потому что в таком случае дубликаты будут идти подряд, и uniq их благополучно отфильтрует без сортировки. Если же они идут не подряд, значит порядок значения не имеет, и можно сортировать.
> используем второе поле из первого файла в качестве критерия выборки строк второго
Если тебе постоянно приходится решать такие задачи, категорически рекомендую SQL.
| |
|
|
6.32, Аноним (27), 13:49, 13/04/2019 [^] [^^] [^^^] [ответить]
| –4 +/– |
> получаем косты^W кастомную переключалку между приложениями по горячей клавише, с поиском, фильтром, шахматессами и неплохой шустростью даже на старье десятилетней давности
Извини, мне не понять твоих проблем, у меня i3 (тот, который wm, а не тот, который core).
| |
|
7.33, Аноним84701 (ok), 15:45, 13/04/2019 [^] [^^] [^^^] [ответить]
| +2 +/– |
>> получаем косты^W кастомную переключалку между приложениями по горячей клавише, с поиском, фильтром, шахматессами и неплохой шустростью даже на старье десятилетней давности
> Извини, мне не понять твоих проблем,
Вам, анонимам без номера, не угодишь.
То примеры вам слишком искусственные, то слишком непонятные 🙄
Можешь заменить список фокуса окон жирными логами, где хочется сделать выборку по юзеру, ограничившись при этом только активными процессами (т.е. по выхлопу ps для полей user/PID). Потом оставить строки особо жирных процессов c RSS > 100500.
Или показать, как будет выглядеть сумма и среднее потребление памяти для группы процессов.
Или хотя бы как по быстрому поменять местами поля в строке с помощью cut …
Или я правильно понимаю, что это такое тихое и окончательное сруливание с темы, после всех громких заявлений о неосиляторах и прочих?
> у меня i3 (тот, который wm, а не тот, который core).
Ну хоть не арч 🙄
% i3 -v
i3 version 4.15-274-g27afc572 (2018-09-26, branch "next") © 2009 Michael Stapelberg and contributors
ll ~/.i3
total 64
drwxr-x--- 2 anon anon 512B 10 апр. 12:12 ./
drwxr-xr-- 258 anon anon 15K 13 апр. 12:18 ../
-rw-r----- 1 anon anon 13K 10 апр. 12:12 config
-rw-r----- 1 anon anon 13K 29 янв. 2018 config.29.01.18
-rw-r----- 1 anon anon 12K 15 нояб. 2016 config.15.11.16
-rw-r----- 1 anon anon 10K 15 нояб. 2014 config.15.11.14
Но вы продолжайте, продолжайте - нам (почти совсем) интересно!
| |
|
8.34, Аноним (27), 16:47, 13/04/2019 [^] [^^] [^^^] [ответить] | –1 +/– | Ох уж эти нумерованные анонимы 8230 Ты процессы, небось, берёшь из ps aux, уга... текст свёрнут, показать | |
|
|
|
|
12.42, Аноним (27), 10:49, 14/04/2019 [^] [^^] [^^^] [ответить] | –1 +/– | Нет, не будет, пока ты будешь совать мне под нос куски кода и спрашивать, как эт... текст свёрнут, показать | |
|
|
|
|
|
|
6.59, freehck (ok), 12:28, 16/04/2019 [^] [^^] [^^^] [ответить]
| +/– |
Аноним84701, как на счёт устроить KSP, встретиться в реале и поесть рёбрышек? Я так чувствую, что уже пора опеннетовку организовывать. )
| |
|
7.62, Аноним84701 (ok), 12:55, 16/04/2019 [^] [^^] [^^^] [ответить]
| +/– |
> Аноним84701, как на счёт устроить KSP, встретиться в реале и поесть рёбрышек?
> Я так чувствую, что уже пора опеннетовку организовывать. )
Это смотря где (мне по географическим координатам где-то под 3000км до Москвы), но я вообще-то не фанат - реалу реалово, формумам форумово ;)
| |
|
|
5.41, Нонейм (?), 06:34, 14/04/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
>> А можно увидеть аналоги на cut(1) от осиляторов?
> А можно увидеть не искусственные примеры, а реальные?
>> фильтруем дубликаты
> См. sort(1), uniq(1). И не надо рассказывать, что порядок строк важен, потому
> что в таком случае дубликаты будут идти подряд, и uniq их
> благополучно отфильтрует без сортировки. Если же они идут не подряд, значит
> порядок значения не имеет, и можно сортировать.
>> используем второе поле из первого файла в качестве критерия выборки строк второго
> Если тебе постоянно приходится решать такие задачи, категорически рекомендую SQL.
Запускать файлы в базу, сортировать и потом делать печать? Нуууу, если Вы не умеете ничего другого, то возможно для Вас это единственный вариант...
| |
|
6.43, Аноним (27), 10:52, 14/04/2019 [^] [^^] [^^^] [ответить]
| –2 +/– |
Нет, вообще не использовать текстовые файлы, если с ними надо работать как с реляционной БД. То есть с самого начала выбирать инструмент, наиболее подходящий для решения конкретной задачи.
| |
|
7.48, x3who (?), 02:34, 15/04/2019 [^] [^^] [^^^] [ответить]
| +/– |
> Нет, вообще не использовать текстовые файлы, если с ними надо работать как с реляционной БД. То есть с самого начала выбирать инструмент, наиболее подходящий для решения конкретной задачи.
Текст универсален - ведь никто же заранее не знает, какая у тебя конкретная задача. Если тебе надо бегать по этому тексту взад-вперед много раз, никто же тебе не мешает распарсить его и запихать в БД.
Хотя, конечно, это не оптимально.
| |
|
|
|
|
3.38, Аноним (38), 21:39, 13/04/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Он используется всеми, откомментившими выше, и прочими неосиляторами cut(1) в одностроках уровня { print $1 }
Очевидно что ни с cut ни с awk вы никогда не сталкивались, у cut и awk разный алгоритм разбора на поля, они не взаимозаменяемы.
| |
|
4.44, Аноним (27), 10:57, 14/04/2019 [^] [^^] [^^^] [ответить]
| +/– |
Что тебе ещё очевидно, тёзка? Представь себе, я в курсе про разные алгоритмы. А ещё я в курсе того, что алгоритм cut не подходит для разбора исключительно человекоориентированного текста, а пытаться его разбирать скриптами — себе дороже. Возможно, набьёшь себе шишек — тоже это поймёшь.
| |
|
3.50, Аноним (50), 09:31, 15/04/2019 [^] [^^] [^^^] [ответить]
| +/– |
Для больших скриптов вестимо чаще используется python
а вот для однострочников awk - самое то
простейший пример
cat file|awk '{if($5>158) print $11}'
могу дать примеры и посложнее, но там придется слишком долго объяснять, что в них происходит
| |
3.52, Andrey Mitrofanov (?), 09:36, 15/04/2019 [^] [^^] [^^^] [ответить]
| +/– |
>> Простите, а этот экспонат где-нибудь используется, кроме музея?
> Он используется всеми, откомментившими выше, и прочими неосиляторами cut(1) в одностроках
> уровня { print $1 }. А так, чтобы для серьёзных скриптов,
> нет.
Почти уговорил. Напиши мне на cut-е
| awk '!x[$0]++'
и я начну его изучать.
| |
|
2.47, x3who (?), 02:29, 15/04/2019 [^] [^^] [^^^] [ответить]
| +/– |
> Простите, а этот экспонат где-нибудь используется, кроме музея?
Им иногда удобно парсить логи и мониторинг/статистику, в частности если что-то зависит от предыдущего состояни или там надо посчитать что-то по строкам и вывести в некотором формате.
Мне кажется, что у awk проблема в том, что им слишком долго не пользовались %) В продакшене системы, в которых масивами-то толком не попользуешься, а новые версии awk стали вылетать как из ружья.
| |
|
1.3, Аноним (3), 21:21, 12/04/2019 [ответить] [﹢﹢﹢] [ · · · ]
| –5 +/– |
О, в соседнем треде про предпочтения программеров на Stack Overflow утверждали, что HTML - не язык. Интересно, что скажут здесь про заголовок...
| |
|
2.8, DiabloPC (ok), 21:43, 12/04/2019 [^] [^^] [^^^] [ответить]
| +3 +/– |
> утверждали, что HTML - не язык
Вообще-то ещё как язык, только не язык программирования, о чём явно сказано в его названии: Hypertext MARKUP Language
| |
|
3.13, Аноним (13), 22:18, 12/04/2019 [^] [^^] [^^^] [ответить]
| –1 +/– |
Спасибо, а то я не знал (на самом деле нет). В соседнем треде просто срач был забавный :)
| |
|
2.24, Аноним (23), 07:49, 13/04/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
Это полноценный язык с фунциями, математической библиотекой.
| |
|
|
2.10, Аноним (10), 22:06, 12/04/2019 [^] [^^] [^^^] [ответить]
| +/– |
Это awk такой медленный или вы имеете выиду, что он начнет искривлять вокруг компьютера пространство и время?
| |
|
|
2.16, Onon (?), 23:15, 12/04/2019 [^] [^^] [^^^] [ответить]
| +/– |
Это как первый раз потрогать. Непонятно, что это такое, но очень возбуждает.
| |
|
1.29, Аноним (29), 11:22, 13/04/2019 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Часто его использую, но синтаксис слишком устаревший и часто избыточен. Во простых случаях не хватает многосимвольных разделителей в cut(тогда бы его использовал). В остальных часто достаточно sed. И остаётся мааааленький класс задач, когда удобнее посчитать на awk, но как правило это легко сделать и на Питоне. С ситуациями когда питон не впихнуть (загрузка ядра, микроконтроллеры) практически не встречался, но как альтернатива - bash.
| |
|
2.30, Аноним (27), 11:42, 13/04/2019 [^] [^^] [^^^] [ответить]
| –2 +/– |
> Во простых случаях не хватает многосимвольных разделителей в cut(тогда бы его использовал).
Это говорит о том, что ты парсишь что-то, не предназначенное для парсинга. В таких случаях надо не использовать awk, а поискать другое решение, как правило куда более простое.
| |
|
3.51, Аноним (50), 09:34, 15/04/2019 [^] [^^] [^^^] [ответить]
| +/– |
тебе дали файл, который нужно распарсить. и там, о Боже! многосимвольный разделитель. ты откажешься выполнять эту работу, т.к. этот файл не предназначен для парсинга?
P.S. не всегда можно многосимвольный разделитель заменить на односимвольный, т.к. в файле может встретиться любой из печатных символов.
| |
|
|
|
2.56, Аноним (56), 16:43, 15/04/2019 [^] [^^] [^^^] [ответить]
| +/– |
Всё-таки этот Че уже из локального мема перерастает в глобальный :)
| |
|
3.57, vle (ok), 19:50, 15/04/2019 [^] [^^] [^^^] [ответить]
| +/– |
> Всё-таки этот Че уже из локального мема перерастает в глобальный :)
Да ну. У меня ж свистелки и перделки для меня и моего друга
| |
3.58, vle (ok), 20:01, 15/04/2019 [^] [^^] [^^^] [ответить]
| +/– |
А вообще, я сюда зашел исключительно посмотреть, как Аарон описал фикс бага в 4.2.1,
на который я ему указал буквально неделю-две назад. Робинс, пожалуй -- самый лучший апстрим,
которого я когда-либо видел! Хороший дядька.
| |
|
|
|