TGViewer
BashTex | Linux BashTex | Linux @bash_tex · 2.51K subscribers
Post #78 1.14K
Нестандартное использование awk

awk — это не просто утилита, а целый мини-язык программирования, заточенный под обработку текстов. Разберём пару действительно интересных трюков, которые могут пригодиться в реальной жизни.

1. Обработка JSON с awk. Хотя jq справляется с JSON лучше, бывают случаи, когда под рукой только awk. Если структура JSON несложная, awk может помочь быстро вытащить нужные данные. Пример:


echo '{"name": "Alice", "age": 30, "city": "Paris"}' | awk -F '[,:{}]' '{print $4}'


Здесь -F '[,:{}]' определяет разделители как запятые, двоеточия и фигурные скобки, что позволяет достать значение "Alice". Конечно, с более сложными JSON это сложнее, но для быстрых нужд работает.

2. Простой анализ логов с условной фильтрацией. awk отлично подходит для задач быстрого анализа логов. Например, подсчитаем количество обращений с конкретных IP-адресов:


awk '{count[$1]++} END {for (ip in count) if (count[ip] > 100) print ip, count[ip]}' access.log


Эта команда выводит IP-адреса, которые встречаются более 100 раз, что может быть полезно для выявления подозрительной активности.

3. Подсчёт по временным меткам. Когда нужно анализировать логи по времени, например, суммировать количество событий по часам. Вот способ быстро агрегировать логи по часам:


awk '{split($4, a, ":"); hour=a[2]; count[hour]++} END {for (h in count) print h, count[h]}' access.log


Здесь split($4, a, ":") разбивает дату по двоеточию, чтобы вытащить час, и count[hour]++ подсчитывает обращения для каждого часа.

Все это лишь малая часть того, что можно сделать с awk. Используйте эти техники, чтобы сэкономить время и по-настоящему раскрыть потенциал командной строки.

BashTex 📱 #linux #utils
  • 👍 10
More from @bash_tex
  1. Oct 14, 2026coproc: как Bash общается с фоновым процессом в обе стороны Обычно Bash запускает фоновый…
  2. Oct 13, 2026openat2(): как Linux защищает от выхода за пределы каталога Допустим, приложение должно чи…
  3. Oct 12, 2026xargs против while read: где быстрее и безопаснее Обе конструкции позволяют обработать спи…
  4. Oct 9, 2026BashTex 📱 #мем
  5. Oct 8, 2026Bridge FDB - как Linux bridge узнаёт, где находится MAC Linux bridge не знает заранее, за…
  6. Oct 7, 2026/dev/tcp - сетевое соединение средствами Bash В Bash есть малоизвестная возможность работа…
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 →