Я хочу написать 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}'
чтобы показать количество после расширений.