AWK
Версия от 01:24, 1 июня 2022; Root (обсуждение | вклад)
Базовый синтаксис 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