2012-02-22 2 views
4

Я хочу найти и подсчитать все файлы в моей системе, которые начинаются с некоторой строки, например «foo», , используя только одну строку в bash.Как найти и подсчитать количество файлов, соответствующих заданной строке?

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

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

ответ

11

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

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

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

+1

необходимости цитировать или спасаясь от '*', так что оболочка не расширяет его, прежде чем находка видит. –

0

Вы можете по конвейеру в wc

find/-name foo * | wc -l 

 Смежные вопросы

  • Нет связанных вопросов^_^