Linuxlab

Команда awk в Linux: обработка по полям

Обновлено 3 июля 2026 г.

Команда awk разбивает каждую строку на поля и обрабатывает их по правилу «условие { действие }».

Синтаксис

awk 'условие { действие }' файл

Частые случаи

awk '{ print $1 }' access.log        # первое поле каждой строки
awk '{ print $1, $4 }' access.log    # первое и четвёртое
awk '$4==404 { n++ } END { print n }' access.log   # подсчёт по условию
awk -F: '{ print $1 }' /etc/passwd   # -F: разделитель полей двоеточие

Как это устроено: поля, $0 и END

awk сам режет строку на поля по пробельным символам: $1 - первое поле, $2 - второе, $0 - вся строка, NF - число полей. Программа состоит из правил «условие { действие }»: для каждой строки awk проверяет условие и, если оно истинно, выполняет действие. Особые блоки BEGIN { } и END { } срабатывают до и после всех строк - в END удобно печатать накопленный итог. Разделитель полей меняют флагом -F.

Где применяется

Это нужно в уроке Текст: grep, sed, awk. Теория - в главе Bash глубже.

См. также

Команда grep, Команда sed, Регулярные выражения.

Попробовать

Открой песочницу: настоящий одноразовый терминал Linux в браузере. Выполни команды выше своими руками - контейнер удаляется, когда ты уходишь.