Блоки BEGIN/END awk
Выполнить код до и после обработки всех строк
awk 'BEGIN{print "Start"} {lines++} END{print lines" lines processed"}' file.txt
more awk
all 15 commands →
Объединение двух файлов по ключу
awk 'NR==FNR{a[$1]=$2; next} $1 in a {print $0, a[$1]}' lookup.txt data.txt
Вывести конкретную колонку
awk '{print $3}' file.txt
Пользовательский разделитель
awk -F: '{print $1, $3}' /etc/passwd
Фильтровать строки по паттерну
awk '/ERROR/ {print NR": "$0}' app.log
Сумма колонки
awk '{sum += $4} END {print sum}' access.log