— Приветствую всех!
— Я обратил внимание, что когда в директории есть файлы с пробелами и спецсимволами в именах, то некоторые команды могут давать неправильное количество файлов😕…
— Я „утрировал“ ситуацию и создал файлы типа:
1??? sed -e 's-\(^.*)\)\(.*-\)\(.*$\)-Area: \1 Second: \2 Third: \3-g' .txt
$ echo "THE BEAR ATE THE FISH" |sed -e 's-[^ ]*\(H\|F\)[^ ]*-<red>&-g.txt
total 68?-rw-rw-r--. 1 pmaresca pmaresca 49 Mar 21 20:34 blanks?-rw-rw-r--. 1 pmaresca pmaresca 36257 Mar 22 20:05 command.txt
$ echo "THE BEAR ATE THE FISH" |sed -e 's-[^ ]*(H|F)[^ ]*-<red>&-g'?THE BEAR ATE THE FIS.txt
— Такие имена к примеру образуются если вытаскивать на стол текст из страниц (есть такая функция в частности в Unity).
— Далее я решил посчитать файлы:
tree|grep ' files'
0 directories, 33 files
↓↓↓ /home/fjf/Desktop/01.folder_
ls -1l|grep ^- | wc -l
35
↓↓↓ /home/fjf/Desktop/01.folder_
ls -l . | egrep -c '^-'
35
↓↓↓ /home/fjf/Desktop/01.folder_
find . -type f -printf "%f\n"|wc -l
40
↓↓↓ /home/fjf/Desktop/01.folder_
find . -type f | wc -l
40
↓↓↓ /home/fjf/Desktop/01.folder_
ls -1|grep .**.|wc -l
36
↓↓↓ /home/fjf/Desktop/01.folder_
find . -maxdepth 1 -type f -printf . | wc -c
33
↓↓↓ /home/fjf/Desktop/01.folder_
find . ! -name . -prune -type f -print | grep -c /
33
↓↓↓ /home/fjf/Desktop/01.folder_
ls -Anq | grep -c '^-'
33
↓↓↓ /home/fjf/Desktop/01.folder_
find . ! -name . -prune -printf . | wc -c
33
↓↓↓ /home/fjf/Desktop/01.folder_
find . -maxdepth 1 -type f | wc -l
40
— Обычно я для этого использовал:
tree | grep ' files'
и это всегда давало желаемый результат, но тут решил попробовать другие команды и получил результаты, которые под спойлером.
— Возможна ли „суперуниверсальная😈“ команда для подсчёта файлов в директории? Особенно если файлы разные и их положим сотен несколько? Через
tree для нескольких сотен файлов по-моему не очень надёжно…
Профиль ТС (пользователь zse) по состоянию на 22/07/2019 на форуме более не существует. Модератором раздела принято решение закрыть тему.
--zg_nico