Как посчитать количество файлов в папке Linux и FreeBSD?

Раздел: FreeBSD, Советы
Написано: 8.03.2011
Автор: Antonio

Переносил бекапы используя rsync — в одинаковом содержимом я не сомневался (так как не первый раз), а вот количество файлов на той и этой стороне решил проверить.

FreeBSD 10 daemon

Посчитать количество файлов в каталоге можно командой:

ls -l -R /data_b | grep ^- | wc -l

Команда составная, немного поясню ее механизм работы.
Сначала выводим список всех файлов в каталоге /data_b и его подкаталогах

ls -l -R /data_b

дальше отделяем строки которые начинаются с «-»
grep ^-

и затем подсчитываем количество строк (файлов)
wc -l

P.S. пишу как подсчитать в FreeBSD, так как этим пользовался в этой системе, но работать команды будут и в Linux, так как команды стандартные

Поделиться с друзьями или в соц.сетях (спасибо)
Ещё похожие заметки:

7 комментариев

Аноним
Май 13, 2011 13:55

%ls -l
total 626

и не надо усложнять :-) , и рекурсивно к тому же

%uname -rp
6.0-RELEASE i386
%

 
mnhunter
Апр 20, 2012 08:40

а если по разным шаблонам в имени файла? то это как ?. думаю надо курить в сторону awk. может кто подскажет примерчик по теме

 
Antonio
Апр 20, 2012 10:51

Предыдущему анониму
ls -l
выводит просто список файлов

$ uname -rp
8.0-RELEASE-p2 amd64

 
Antonio
Апр 20, 2012 10:59

Можно и по шаблонам, например,

ls -l -R /lib | grep ^- | grep '.so$' | wc -l

выведет количество файлов с расширением so

 
Antonio
Апр 20, 2012 11:00

В команде grep можно использовать регулярные выражения — получается очень гибко

 
Максим
Апр 21, 2012 10:50

Спасибо за пример, и что не менее важное, за объяснение. Не часто находишь краткое и понятное объяснение. Чаще что-то вроде man grep и все.

 
Antonio
Апр 21, 2012 12:17

=)

 

Написать

Копирование информации с сайта возможно только с указанием прямой ссылки - https://nemcd.com