awk Генератор команд
Создание команд awk для сканирования шаблонов и обработки текста
Начало работы с awk
## Что такое awk?
`awk` — это язык программирования для обработки текста. Он читает входные данные построчно, разбивает каждую строку на поля и выполняет программу из правил `pattern { action }`. Отлично подходит для извлечения столбцов, табличных отчётов и построчной арифметики.
## Как использовать
1. **Введите программу**: укажите программу `awk`, например `{print $1}`. 2. **Задайте разделитель полей** (необязательно): `-F ','` для входных данных CSV. 3. **Укажите файл**: введите файл для обработки. 4. **Скопируйте и запустите**: скопируйте сгенерированную команду в терминал.
Синтаксис программы
Программа `awk` — это последовательность правил:
``` pattern { action } pattern { action } ```
### Встроенные переменные - `$0` — вся текущая строка - `$1`, `$2`, … — 1-е, 2-е, … поле (разделённые через `FS`) - `NF` — количество полей в текущей строке - `NR` — номер текущей строки (по всему файлу) - `FS` — разделитель полей (по умолчанию пробел; задаётся через `-F`)
### Специальные шаблоны - `BEGIN { … }` — выполняется один раз перед чтением любых данных (подходит для инициализации/заголовка) - `END { … }` — выполняется один раз после обработки всех данных (подходит для итогов)
### Примеры - `{print $1}` — вывести первое поле каждой строки - `{sum += $1} END {print sum}` — просуммировать первый столбец - `NR == 1 {next} {print}` — пропустить строку заголовка - `$3 > 100 {print $1, $3}` — вывести строки, где третье поле больше 100
### Кавычки Заключайте программу в одинарные кавычки, чтобы `$`, `{`, `}` не интерпретировались оболочкой. Этот генератор берёт оформление кавычками на себя.
▶Как разобрать файл CSV?
▶Как вычислить нарастающий итог?
Если этот инструмент оказался полезным для вас, подумайте о том, чтобы подарить мне кофе.
Купите мне кофе.