Как я могу посчитать все файлы без использования find и только grep? Я попытался использовать ls рекурсивно, но как я могу передать это для grep и подсчета файлов?

3 ответа3

6

Чтобы вывести список всех файлов, которые соответствуют шаблону grep:

grep -rl your_regex_pattern /my/dir /my/other_dir /my/file

Чтобы посчитать их:

grep -rl your_regex_pattern /my/dir /my/other_dir /my/file  | wc -l

Чтобы подсчитать все непустые файлы в каталоге рекурсивно, вы ищете пустую строку (две одинарные кавычки):

grep -rl '' /my/dir       | wc -l
2

Если вы действительно хотите использовать исключительно grep вы можете сделать:

grep -lR ^ . | grep -c ^
0
du -ah | wc -l

[and then subtract 1]

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .