Вопросы с тегом «awk»

Шаблонно-ориентированный язык сканирования и обработки.

751
Как я могу заменить строку в файле (ах)?

Замена строк в файлах на основе определенных критериев поиска является очень распространенной задачей. Как я могу заменить строку fooс barво всех файлов в текущем каталоге? сделать то же самое рекурсивно для подкаталогов? заменить только если имя файла совпадает с другой строкой? заменить только...

95
Есть ли базовый учебник для grep, awk и sed? [закрыто]

Я был пользователем Linux некоторое время, и у меня есть довольно приличное понимание большинства распространенных утилит командной строки. Тем не менее, те , которые приходят и снова по отношению к составлению программ grep, awkи sed. Единственное, для чего я использовал grep - это добавление в...

93
Есть ли способ получить минимум, максимум, медиану и среднее из списка чисел в одной команде?

У меня есть список номеров в файле, по одному в строке. Как я могу получить минимальные, максимальные, средние и средние значения? Я хочу использовать результаты в скрипте bash. Хотя моя непосредственная ситуация с целыми числами, решение для чисел с плавающей запятой было бы полезно в дальнейшем,...

72
Показать сумму размеров файлов в списке каталогов

Команда dirсписка каталогов Windows имеет в конце строку, показывающую общий объем пространства, занимаемого перечисленными файлами. Например, dir *.exeотображаются все .exeфайлы в текущем каталоге, их размеры и общая сумма их размеров. Я хотел бы иметь подобную функциональность с моим...

71
Удалить строку, содержащую определенную строку и следующую строку

Я использую это cat foo.txt | sed '/bar/d' удалить строки, содержащие строку barв файле. Однако я хотел бы удалить эти строки и строку сразу после нее . Предпочтительно в sed, awkили другой инструмент , который доступен в Mingw32. Это своего рода реверс , что я могу получить в grepс -Aи...

71
Показать все файлы до матча

grep --before-context 5 показывает 5 строк перед матчем. Я хочу показать все перед матчем. Делать grep --before-context 99999999будет работать, но это не очень ... профессионально. Как показать все файлы до...

64
Как прочитать первую и последнюю строку из вывода cat?

У меня есть текстовый файл. Задача - получить первую и последнюю строку из файла после $ cat file | grep -E "1|2|3|4" | commandtoprint $ cat file 1 2 3 4 5 Нужно это без вывода кошки (только 1 и 5). ~$ cat file | tee >(head -n 1) >(wc -l) 1 2 3 4 5 5 1 Возможно awk и более короткое решение...

64
Использование awk для суммирования значений столбца на основе значений другого столбца

Я пытаюсь суммировать определенные числа в столбце, используя awk. Я хотел бы суммировать только столбец 3 «кузнецов», чтобы получить в общей сложности 212. Я могу суммировать весь столбец, используя awkне только «кузнецов». У меня есть: awk 'BEGIN {FS = "|"} ; {sum+=$3} END {print sum}'...

59
Передать переменную оболочки как / pattern / в awk

Имея следующее в одной из моих функций оболочки: function _process () { awk -v l="$line" ' BEGIN {p=0} /'"$1"'/ {p=1} END{ if(p) print l >> "outfile.txt" } ' } , Так что, когда называется _process $arg, $argполучает прошло , как $1и используется в качестве шаблона поиска. Это работает так,...

56
Как проанализировать JSON с помощью сценариев оболочки в Linux?

У меня есть вывод JSON, из которого мне нужно извлечь несколько параметров в Linux. Это вывод JSON: { "OwnerId": "121456789127", "ReservationId": "r-48465168", "Groups": [], "Instances": [ { "Monitoring": { "State": "disabled" }, "PublicDnsName": null, "RootDeviceType": "ebs", "State": { "Code":...

50
Замена строки на основе номера строки

У меня есть ситуация, когда я хочу заменить определенную строку во многих файлах Замените строку AAA другой строкой BBB, но есть много строк, начинающихся с AAA или заканчивающихся в AAA, и я хочу заменить только одну строку в строке 34 и оставить остальные нетронутыми. Можно ли указать по номеру...

50
Разница между gawk и awk

Пытаетесь понять разницу между двумя функциями gawk и awk? Когда можно использовать gawk против awk? Или они одинаковы с точки зрения использования? Кроме того, можно ли привести...

48
Удалите дубликаты записей $ PATH с помощью команды awk

Я пытаюсь написать функцию оболочки bash, которая позволит мне удалять дубликаты копий каталогов из моей переменной среды PATH. Мне сказали, что это можно сделать с помощью одной строки, используя awkкоманду, но я не могу понять, как это сделать. Кто-нибудь знает...

44
Обратная очистка

Допустим, у меня действительно большой текстовый файл (около 10.000.000 строк). Мне нужно grepэто с конца и сохранить результат в файл. Какой самый эффективный способ выполнить...

42
Как запустить grep для одного столбца?

Я хочу получить выходные данные моей ls -lкоманды: -rw-r--r-- 1 root root 1866 Feb 14 07:47 rahmu.file -rw-r--r-- 1 rahmu user 95653 Feb 14 07:47 foo.file -rw-r--r-- 1 rahmu user 1073822 Feb 14 21:01 bar.file Я хочу работать только grep rahmuсо столбцом $ 3, поэтому вывод моей grepкоманды должен...

41
Как вы перечисляете количество строк каждого файла в каталоге в удобочитаемом формате.

У меня есть список каталогов и подкаталогов, которые содержат большие файлы CSV. В этих файлах около 500 миллионов строк, каждая из которых является записью. я бы хотел знать Сколько строк в каждом файле. Сколько строк в каталоге. Сколько всего строк Самое главное, мне нужно это в «удобочитаемом...

41
Как просмотреть весь контент в массиве awk?

В моем понимании, массив awk - это что-то вроде python dict. Поэтому я пишу код ниже, чтобы изучить его: awk '{my_dict[$1] = $2} END { print my_dict}' zen И я получил: awk: can't read value of my_dict; it's an array name. Поскольку первый столбец не является числом, как я могу прочитать общее...

40
Как работает awk '! A [$ 0] ++'?

Эта однострочная строка удаляет повторяющиеся строки из текстового ввода без предварительной сортировки. Например: $ cat >f q w e w r $ awk '!a[$0]++' <f q w e r $ Оригинальный код, который я нашел в интернете, читал: awk '!_[$0]++' Это было еще более озадачивающим для меня, так как я принял...

40
Удаление ведущих нулей из даты вывода

Я сделал псевдоним команды date для отображения даты в следующем формате: 2013.06.14.12.10.02 используя эту команду: alias date = date +"%Y.%m.%d.%H.%M.%S" Все отлично работает, за исключением того, что я хочу удалить начальные нули из вывода. Нет способа сделать это, изменив формат. Я думаю, что...

39
Пропустите первые 6 строк / строк в текстовом файле с помощью awk

Как я могу пропустить первые 6 строк / строк в текстовом файле (input.txt) и обработать остальные с помощью awk? Формат моего сценария awk (program.awk): BEGIN { } { process here } END { } Мой текстовый файл выглядит так: 0 3 5 0.1 4.3 2.0 1.5 1.5 3.0 0.3 3.3 1.5 2.1 . . . Я хочу обработать файл,...