AWK: Шпаргалка мастера — 15 команд, которые должен знать DevOps & Linux-администратор
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}'Онлайн-фильтрация логов