Как я могу посчитать все файлы без использования find и только grep? Я попытался использовать ls рекурсивно, но как я могу передать это для grep и подсчета файлов?
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]
