printf "\n%25s%10sTOTAL\n" 'FILE TYPE' ' '; for ext in $(find . -iname \*.* | egrep -o '\.[^[:space:].]+$' | egrep -v '\.svn*' | sort -f | uniq -i); do count=$(find . -iname \*$ext | wc -l); printf "%25s%10s%d\n" $ext ' ' $count; done
Эта команда анализирует проект, подсчитывает количество различных типов файлов и выводит результат в виде таблицы. Аргументы и действия:
— printf "\n%25s%10sTOTAL\n"
: Форматирует заголовок таблицы.
— for ext in $(find . -iname \*.* | egrep -o '\.[^[:space:].]+$' | egrep -v '\.svn*' | sort -f | uniq -i); do
: Начинает цикл для каждого уникального типа файла.
— count=$(find . -iname \*$ext | wc -l)
: Подсчитывает количество файлов данного типа.
— printf "%25s%10s%d\n" $ext ' ' $count;
: Выводит тип файла и количество в форматированной таблице.
Полезно для анализа структуры проекта и определения распределения файлов по типам. Альтернатива: использовать инструменты для анализа проекта, такие как cloc
, которые предоставляют более полное и удобное информацию.