Я хочу посчитать строки всех файлов в этом каталоге и всех его подкаталогах, но исключить каталоги "public", "modules" и "templates".
Как?
find . -type f |grep -v "^./public" |grep -v "^./modules"|grep -v "^./templates"|xargs cat |wc -l
find . -type f
xargs
прочитает список файлов из stdin и передаст все файлы в качестве параметров cat
.cat
распечатает все файлы на стандартный выводЕсли вы хотите посчитать строки в каждом файле отдельно, измените xargs cat |wc -l
на xargs wc -l
find . -type d \
\( -path ./public -o -path ./modules -o -path ./templates \) -prune \
-o -type -f -print0 | xargs -0 wc