find /some/path -type f -printf '%f\n' | grep -o '\..\+$' | sort | uniq -c | sort -rn
Эта команда выполняет следующие действия:
1. find /some/path -type f -printf '%f\n'
— Находит все файлы рекурсивно в указанном пути и выводит их имена.
2. grep -o '\..\+$'
— Извлекает расширения файлов, находящиеся после последней точки в имени файла.
3. sort
— Сортирует расширения файлов в алфавитном порядке.
4. uniq -c
— Подсчитывает уникальные расширения и выводит количество каждого.
5. sort -rn
— Сортирует результаты по убыванию количества файлов с каждым уникальным расширением.
Полезно для анализа структуры файловой системы и определения наиболее часто встречающихся расширений. Альтернативы включают использование других комбинаций утилит, таких как awk
, cut
и sed
, для анализа и обработки результатов. Аргумент /some/path
— путь к каталогу, для которого нужно выполнить поиск файлов.