TGViewer
CORTEL CORTEL @cortel_cloud · 4.07K subscribers
Post #2785 1.35K
🖥 AWK — мощный язык обработки текста, заточенный под построчный разбор данных по колонкам.

Назван по фамилиям создателей (Aho, Weinberger, Kernighan). Незаменим там, где нужно вытащить, отфильтровать или пересчитать данные из таблиц, логов и вывода других утилит.

В отличие от grep (ищет строки) и sed (правит текст потоком), AWK мыслит записями и полями. Каждая строка — это запись, разбитая на колонки. Это превращает обработку структурированного вывода (ps, df, /etc/passwd, CSV, логи) в простые однострочники.

Программа на AWK — это набор правил вида:


awk 'паттерн { действие }' файл


— паттерн — условие, при котором срабатывает действие (можно опустить — тогда срабатывает на каждой строке)
— действие — что сделать с записью (можно опустить — тогда печатается строка целиком)

➡️ Ключевые встроенные переменные:

$0 — вся строка целиком
$1, $2, ... — поля (колонки) по порядку
NF — количество полей в строке (Number of Fields)
NR — номер текущей строки (Number of Records)
FS — разделитель полей на входе (по умолчанию — пробелы/табы)
OFS — разделитель полей на выходе

➡️ Основные параметры

-F — задать разделитель полей (-F: для /etc/passwd, -F, для CSV)
-v — передать переменную внутрь программы (-v threshold=80)
-f — взять программу из файла, а не из строки

🔵Блоки BEGIN и END

BEGIN выполняется до чтения файла, END — после. Удобно для заголовков и итогов.

✅ Примеры

Вывести только нужные колонки (имя пользователя и shell из passwd):


awk -F: '{print $1, $7}' /etc/passwd

root /bin/bash
daemon /usr/sbin/nologin


Найти процессы, потребляющие больше 50% CPU:


ps aux | awk '$3 > 50 {print $2, $11}'


Отфильтровать строки лога по коду ответа nginx и посчитать количество 5xx:


awk '$9 ~ /^5/ {count++} END{print "5xx errors:", count}' access.log


AWK — это полноценный мини-язык.
Для разовых однострочников он экономит десятки строк на grep | cut | sort, а в скриптах закрывает всю обработку табличных данных без выхода в Python.

#линуксятина
  • ❤ 8
  • 👍 5
  • 🔥 2
More from @cortel_cloud
  1. Oct 1, 2026🖥 sed — потоковый редактор текста в Linux 🤓 Появился в Bell Labs в 1970-х и до сих пор и…
  2. Sep 29, 2026🖥 РАЗНИЦА Block, File и Object Storage 🧑‍🎓Повторение — мать учения. Для разных задач по…
  3. Sep 25, 2026😎 Когнитивная РАЗгрузка За неделю с горящими дедлайнами, часовыми ВКС и постоянным перекл…
  4. Sep 23, 2026💻 kubectl diff: обработка изменений в CI/CD kubectl diff сравнивает текущую конфигурацию…
  5. Sep 18, 2026🛡 ДА! У НАС ЦЕЛАЯ ЧЕРЕДА ПОЛЕЗНЫХ ЭФИРОВ ПРО ИБ! 🎙 Уже 24 сентября Вероника Нечаева, выс…
  6. Sep 16, 2026👩‍💻 Работа с ПДн это непрерывный процесс. Компания меняется — появляются новые сервисы,…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →