Рейтинг:2

почему вывод отличается от подсчета файлов?

флаг in

Я просто хочу подсчитать все файлы в каталоге. Я использовал два метода, которые я нашел:

  1. дерево /дом/бкп С помощью этого метода вывод 2177879 файл.

  2. найти /home/bkp -type f | туалет -л И с этим 2176704 файл

В чем разница? Как я мог посчитать все файлы во всех каталогах и подкаталогах?

Спасибо!

Terrance avatar
флаг id
Это хороший вопрос. Однако похоже, что у одного или другого есть ошибка. Попробуйте выполнить `tree -d` и `find` с `-type d` для каталогов, и вы также получите 2 совершенно разных результата. Однако возникает вопрос, у кого из них ошибка?
bac0n avatar
флаг cn
Связано: [Как подсчитать все папки и подпапки...] (https://askubuntu.com/a/1360535/986805)
Márton Stark avatar
флаг in
Привет, я пробовал оба, и разные все еще существуют. с `tree -d` **306647** и с `find` **306760**. Кажется, я не начинаю считать вручную :-D :)
Gounou avatar
флаг us
Попробуйте `ls -alR | grep -c '^-'` для подсчета файлов и сравнения результата с деревом и поиском (если с тех пор вы не добавляли файлы в каталог). `tree -ad` (также учитывайте скрытые каталоги) эквивалентно `find -type d`, что может объяснить разницу между ними. Однако я не понимаю, почему вывод `tree /home/bkp` больше, чем `find`.Это папка автоматического резервного копирования или вы думаете, что количество файлов может измениться между двумя командами?
Terrance avatar
флаг id
Даже `tree -ad` и `find . -type d` оба дают разные итоги. Однако команда `find` обычно дает меньшее значение.
Рейтинг:3
флаг us
дерево
# Также выводить каталоги, но не скрытые файлы
.
ââ Каталог1
ââ Directory2
ââ Файл1
âââ File2

дерево -а
# Также выводить скрытые файлы и скрытые каталоги
.
ââ Каталог1
ââ Directory2
ââ Файл1
ââ Файл2
âââ .Hidden_Directory1
âââ .Hidden_Directory2
âââ .Hidden_File1
âââ .Hidden_File2

найти -тип f
# Файлы и скрытые файлы
./Файл1
./Файл2
./.Скрытый_Файл1
./.Скрытый_Файл2

дерево -aiff | grep -v '/$'
# Выходные файлы и скрытые файлы
.
./Файл1
./Файл2
./.Скрытый_Файл1
./.Скрытый_Файл2

Источник: Как заставить дерево выводить только файлы?

и -f аргументы вызывают дерево для вывода полных путей на каждом линию, а не отступ. аргумент заставляет его добавить / к именам каталогов, которые отфильтровываются инвертированным grep (grep -v '/$').

мужское дерево
-f Печатает префикс полного пути для каждого файла.
-i Заставляет дерево не печатать линии отступа, полезно, когда 
       используется вместе с опцией -f. Также удаляет столько 
       как можно больше пробелов при использовании с параметрами -J или -x.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.