Как найти одинаковые строки в файлах и подсчитать их встречаемость

Иногда бывает нужно найти одинаковые строки во всех файлах, подсчитать их встречаемость в каждом файле и вывести их в отсортированом виде. Это можно сделать следующим образом:

find . -type f | xargs fgrep "Notice" | uniq -c | sort -nr

Параметр . у команды find будет означать, что будет произведён поиск в текущей директории.
Флаг -type f у команды find означает, что будут учитываться только файлы.
Флаг -с у команды uniq означает, что будет добавлен префикс с числом встреч данной строки.
Флаг -n команды sort означает, что сравнение будет идти по числовому значению.
Флаг -r команды sort означает, что данные будут выведены в обратном порядке.
Тот же самый результат можно получить следующим образом:

fgrep -R "Notice" | uniq -c | sort -nr

Параметр -R у команды fgrep означает, что нужно прочитать все файлы в каждой директории.

Использованные источники
Источник Дата посещения
find-duplicate-lines-in-a-file-and-count-how-many-time-each-line-was-duplicated 2015.02.23

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *