Я хочу написать shell script или alias чтобы найти количество различных типов файлов в каталоге. Например, пример вывода скрипта должен быть:
*.h 20
*.c 40
*.cpp 10
Makefile 3
Я хочу написать shell script или alias чтобы найти количество различных типов файлов в каталоге. Например, пример вывода скрипта должен быть:
*.h 20
*.c 40
*.cpp 10
Makefile 3
find . -type f -name '*.*' -exec sh -c 'echo ${0##*.}' {} \; | sort | uniq -c | sort -nr
echo ${0##*.} Дает вам расширение файла. Мы передаем выходные данные для sort а затем подсчитываем уникальные строки с помощью uniq .
Некоторые дополнения:
uniq не сортируются в соответствии с количеством вхождений, вам придется снова преобразовать в числовую сортировку (-nr), если вы хотите, чтобы она была отсортирована.-maxdepth 1 к вашей команде find .awk '{print $2, $1}' чтобы показать количество после расширений.