- [⬆ вверх]
- AWK.md
- FreeBSD — кратко о нём..md
- GELI Ключ без пароля.md
- IDE под твои задачи.md
- ZELLIJ + KITTY твоё оружие в терминальной войне.md
- ZFS Экспорт и импорт пулов.md
- gpart show и монтирование ext2 ext3 ext4.md
- nmdm.md
- nvim.md
- Где располагать пользовательские скрипты.md
- Давай качайся!.md
- Как запоролить host в traefik.md
- Как настроить rc.d скрипт для demon в jail.md
- Как пробросить $DISPLAY по ssh.md
- Как ставить пакеты из портов, чтобы pgk их видел..md
- Обновление FreeBSD.md
- Отключение загрузки video драйверов.md
- Очистка дисков и создание RAID.md
- Разница между rc.conf и sysctl.conf.md
- Специфично для FreeBSD переменные окружения.md
- Управление звуковыми выходами.md
- Управление кодом возврата в bash.md
- Установить terminfo для Alacritty.md
- Установить описание терминала xterm-kitty.md
AWK - это боевой топор для резки текста по полям! Старый, как кости первых кодеров, но острый, как клык варлорда! Писали его трое шаманов: Aho, Weinberger, Kernighan - вот и название: **A-W-K
**
Что это такое?
AWK — язык однострочных скриптов, заточенный под обработку текстов: парсинг логов, выдирание нужных полей, агрегация данных. Славится своей мощью при разборе строк с разделителями (как CSV
, TSV
, или просто пробелы)
awk 'условие {действие}' файл.
Примеры боя:
- Вывести второй столбец из файла:
awk '{print $2}' файл
2)Показать строки, где второй столбец больше 100:
awk '$2 > 100' файл
3)Подсчитать сумму чисел из третьей колонки:
awk '{sum += $3} END {print sum}' файл
4)Заменить разделитель на :
(если вход — CSV):
awk -F',' -v OFS=':' '{print $1, $2, $3}' файл.csv
Особенности:
-
BEGIN {}
- блок до начала боя (до чтения строк) -
END {}
- блок после сражения (после всех строк) -
NR
- номер строки -
NF
- число полей в строке -
FS
- разделитель входа (Field Separator) -
OFS
- разделитель выхода
Когда юзать?
-
Когда
grep
иcut
уже не справляются -
Когда надо склеить, посчитать, отфильтровать, отформатировать - БЫСТРО
-
Когда нет времени писать на Python, а надо вырезать лог за 10 секунд
Хочешь резать логи, CSV, таблички - AWK твой боевой друг. Быстрый, злой, лаконичный. Почитай про gawk
- GNU-версию, у неё больше магии.