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.txt
NR (Number of Record) добавляет номера строк.
8. Подсчет строк в файле
awk 'END {print NR}' file.txt
END выполняется после обработки всех строк.
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.txt
gsub выполняет глобальную замену.
13. Вывод только уникальных строк
awk '!seen[$0]++' file.txt
Удаляет дубликаты строк, как sort -u.
14. Вывод нечетных/четных строк
Вывести нечетные строки:
awk 'NR % 2 == 1' file.txt
Измените % 2 == 0 для четных строк.
15. Мониторинг логов в реальном времени
tail -f logfile | awk '/error/ {print}'
Онлайн-фильтрация логов
👉
DevOps Portal