1. Базовый вывод
Вывести первый столбец файла:
awk '{print $1}' file.txtИзвлекает и печатает первое поле из каждой строки.
2. Вывод определенных столбцов
Вывести 1-й и 3-й столбцы, разделенные
-:awk '{print $1 "-" $3}' file.txtПолезно для обработки структурированных данных.
3. Разделитель полей (-F)
Вывести 1-й и 2-й столбцы из CSV-файла:
awk -F ',' '{print $1, $2}' file.csv-F задает разделитель, здесь это запятая.4. Фильтрация строк по шаблону
Найти строки, содержащие
"error":awk '/error/ {print}' log.txtРаботает как
grep, но гибче5. Фильтрация по значению столбца
Вывести строки, где 3-й столбец равен
"admin":awk '$3 == "admin"' users.txt
Быстрая фильтрация структурированных файлов.
6. Поиск по регулярному выражению
Вывести строки, где 2-й столбец содержит
"fail":awk '$2 ~ /fail/' log.txt
~ означает соответствие регулярному выражению.7. Нумерация строк
awk '{print NR, $0}' file.txtNR (Number of Record) добавляет номера строк.8. Подсчет строк в файле
awk 'END {print NR}' file.txtEND выполняется после обработки всех строк.9. Суммирование значений в столбце
Просуммировать все значения 2-го столбца:
awk '{sum+=$2} END {print sum}' data.txtАгрегация числовых данных.
10. Поиск максимального значения в столбце
awk '$2 > max {max=$2} END {print max}' data.txtНаходит наибольшее число во 2-м столбце.
11. Вывод последней строки файла
awk 'END {print}' file.txtАналог
tail -n 1, но гибче12. Замена слова в файле
Заменить
"error" на "warning":awk '{gsub("error", "warning"); print}' log.txtgsub выполняет глобальную замену.13. Вывод только уникальных строк
awk '!seen[$0]++' file.txt
Удаляет дубликаты строк, как
sort -u.14. Вывод нечетных/четных строк
Вывести нечетные строки:
awk 'NR % 2 == 1' file.txt
Измените
% 2 == 0 для четных строк.15. Мониторинг логов в реальном времени
tail -f logfile | awk '/error/ {print}'Онлайн-фильтрация логов