Ответы:
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