AWK

Материал из megapuper
Версия от 16:56, 30 июня 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

Вывод строк начинающихся с буквы O

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