Bash: фильтрация уникальных значений и подсчёт частоты

Практические лайфхаки для разработчиков, DevOps и админов: Docker, Linux, Bash, Python, Golang, Ansible, логи и безопасность — только рабочие решения. Даем готовые команды, конфиги и приёмы диагностики, которые экономят часы и дни. Если нужно быстро настроить, отладить и обезопасить инфраструктуру — вы по адресу.

bashлогированиеuniq

👁 Если в проекте часто приходится работать с большими объемами данных или логами, то быстрое извлечение уникальных значений и подсчет их частоты — это штука, которая сэкономит тебе массу времени. Вместо того чтобы вручную анализировать каждый вывод, можно использовать мощные возможности командной оболочки.

📝 Пример кода:

#!/bin/bash

# Путь к файлу
logfile="app.log"

# Получение уникальных значений и подсчёт их частоты
cat "$logfile" | tr -s ' ' '\n' | sort | uniq -c | sort -nr | head -n 10

📌 Как это работает:

  • cat "$logfile" — выводит содержимое файла
  • tr -s ' ' '\n' — заменяет пробелы на символы новой строки, чтобы каждое слово было на отдельной строке
  • sort — сортирует строки, чтобы одинаковые слова оказались рядом
  • uniq -c — подсчитывает количество одинаковых слов
  • sort -nr — сортирует по убыванию частоты
  • head -n 10 — выводит только топ-10 наиболее частых значений

❗️ Очень полезно для анализа логов, отчётов и любых данных, где необходимо понять, какие элементы встречаются чаще всего. Простой и эффективный инструмент в арсенале каждого разработчика.

tags: #bash #логирование #полезно

❤️ @recura_tech

Скриншот окна терминала с примером команды Bash для получения уникальных слов и подсчёта их частоты в файле логов; виден логотип RECURA.
Скриншот примера команды Bash для подсчёта частоты слов в лог-файле

Читайте так же