Решение состоит в использовании
bash:~/src/edk2$ source edksetup.sh
bash:~/src/edk2$ build
. Эффект команды экспорта внутри edksetup.sh не отражается в основной оболочке bash, а скорее в суб-оболочке, порожденной для ее выполнения. «source» направляет его на запуск скрипта в текущей оболочке.
Попробуйте это oneliner:
find -maxdepth 1 -type f | wc -l
Попробуйте это
ls -al | grep ^[-] | wc -l
ls -al - перечислите весь файл с длинным листинговым форматом grep ^[-] - найдите строку, которая начинается с символа «-», который обозначает символ для обычного файла в списке файл с ls -al wc -l - подсчет строк Я просто хочу добавить ответ Тома, потому что мне нравится играть с Башем. Здесь он:
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 / будет содержать все строки, которые не содержат косой черты (sash). wc -l распечатает подсчет строк.Я знаю, что этот вопрос составляет 3 года, я просто не могу сдержать желание добавить еще один ответ.
Если у вас есть tree, установленный в вашей системе, вы можете использовать эту команду:
tree -L 1 /path/to/your/directory | tail -n 1
Показывает количество файлов и каталогов в этом каталоге.
[ f3] показывает глубину поиска.
Вы можете установить tree с помощью sudo apt-get install tree.
Чтобы подсчитать общее количество файлов с определенным расширением, вы можете ввести:
ls|grep jpg |wc -l