Ответы:
ls -F |grep -v / | wc -l
ls -F
перечислите все файлы и добавьте индикатор (один из * / => @ |) к записям grep -v /
сохранить все строки, которые не содержат косую черту wc -l
считать линииПопробуй это
ls -al | grep ^[-] | wc -l
ls -al
- вывести список всех файлов с длинным форматом спискаgrep ^[-]
- поиск строки, начинающейся с «-», то есть символа для обозначения обычного файла, когда список файлов с помощью ls -alwc -l
- считать строки-
наl
Я просто хочу добавить ответ Тома, потому что мне нравится играть с Bash . Здесь это идет:
echo "Directory $(pwd) has $(ls -F |grep -v / | wc -l) files"
Ниже приведен пример моего /data
каталога:
Directory /data has 580569 file(s).
Ниже приведены мои объяснения:
echo double-quoted-message
напечатает желаемое сообщение.$(any-desirable-valid-command)
внутри двойного кавычки echo
будет выведен результат выполнения связанной команды.pwd
распечатает текущий каталог.ls -F
предназначен для перечисления всех файлов и добавления индикатора (один из * / => @ |) к записям. Я скопировал это из ответа Тома .grep -v /
это команда для поиска в текстовом формате, -v /
параметр будет хранить все строки, которые не содержат косую черту.wc -l
напечатает подсчет строк.Я знаю, что этому вопросу уже 3 года, я просто не могу сдержать желание добавить еще один ответ.
Для подсчета общего количества файлов с определенным расширением вы можете набрать:
ls|grep jpg |wc -l