Как я могу найти и посчитать количество файлов, соответствующих заданной строке? - PullRequest
7 голосов
/ 22 февраля 2012

Я хочу найти и посчитать все файлы в моей системе, которые начинаются с какой-то строки, скажем "foo", , используя только одну строку в bash.

Я новичок вbash, так что я бы хотел, если возможно, избегать сценариев - как я могу сделать это, используя только простые команды bash и, возможно, отправив всего одну строку?

До сих пор я использовал find / -name foo*.Это возвращает список файлов, но я не знаю, что добавить, чтобы фактически посчитать файлы.

Ответы [ 3 ]

16 голосов
/ 22 февраля 2012

Вы можете использовать

find / -type f -name 'foo*' | wc -l
  • Используйте одинарные кавычки, чтобы предотвратить расширение звездочки в оболочке.
  • Используйте -type f для включения только файлов (не ссылок или каталогов).
  • wc -l означает «количество слов, только строки». Так как find перечислит один файл в строке, будет возвращено количество найденных файлов.
3 голосов
/ 22 февраля 2012

find / -name foo* | wc -l должен это сделать. Вот ссылка на man wc . wc -l считает количество строк

0 голосов
/ 22 февраля 2012

Вы можете передать это в wc

find / -name foo * | wc -l
...