AWK — различия между версиями
Root (обсуждение | вклад) |
Root (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
− | Базовый синтаксис awk | + | '''Базовый синтаксис awk''' |
awk '<font color=blue>{action}</font>' filename | awk '<font color=blue>{action}</font>' filename | ||
Строка 5: | Строка 5: | ||
awk '<font color=blue>/regex pattern/{action}</font>' filename | awk '<font color=blue>/regex pattern/{action}</font>' filename | ||
+ | |||
+ | '''Примеры''' | ||
Вывод всего содержимого файла | Вывод всего содержимого файла |
Версия 01:24, 1 июня 2022
Базовый синтаксис awk
awk '{action}' filename
Когда нужно найти текст, соответствующий конкретному шаблону, или же конкретное слово в тексте, команда принимает следующий вид
awk '/regex pattern/{action}' filename
Примеры
Вывод всего содержимого файла
awk '{print $0}' filename
Вывод всего содержимого файла с нумерацией строк
awk '{print NR,$0}'
Вывод определённого столбца
awk '{print $3}' filename
Вывод нескольких столбцов
awk '{print $1, $4}' filename
Вывод последнего столбца
awk '{print $NF}' filename
Вывод предпоследнего столбца
awk '{print $NF-1}' filename
Вывод строк начинающихся с буквы A
awk '/^O/' filename
Вывод строк заканчивающихся с буквы F
awk '/F$/' filename
Вывод строк НЕ заканчивающихся буквой F
awk '! /F$/' filename
Вывод всех строк содержащих io
awk '/io/' filename
Вывод строк в которых значение 3го столбца меньше 40(столбец с цифрами)
awk '$3 < 40 { print $0 }'
Если разделитель не пробел, как например в /etc/password, то можно указать разделитель столбцов с помощью -F
awk -F ':' '{print $1}'
Вывести все хостнеймы(колонка 2) из строк которые начинаются с цифр(ипишек)
awk '/^[0-9]/{print $2}' /etc/hosts