LINUX.ORG.RU

Как правильно считать сумму размера файлов?

 , ,


0

0

Пытаюсь подсчитать сумму mp4 файлов и получается вроде норм, но если считать с Downloads, то файлы перестают складываться и выводятся по отдельности.

bash-5.1$ find ~/Downloads/Video/Music/black_souls  -name '*.mp4' -exec du -ch {} + | grep  total$
152M    total
bash-5.1$ find ~/Downloads/Video/Music/black_souls_2   -name '*.mp4' -exec du -ch {} + | grep  total$
1.1G    total
bash-5.1$ find ~/Downloads/Video/Music/  -name '*.mp4' -exec du -ch {} + | grep  total$
1.2G    total
bash-5.1$ find ~/Downloads/Video -name '*.mp4' -exec du -ch {} + | grep  total$
16G     total
bash-5.1$ find ~/Downloads/  -name '*.mp4' -exec du -ch {} + | grep  total$
29G     total
16G     total

Почему так? Что я упускаю?

★★★★★

Последнее исправление: vbcnthfkmnth123 (всего исправлений: 4)

less’ом поизучайте вывод find и поймёте что он вкладывает во второй total.

unDEFER ★★★★★
()

Почему так? Что я упускаю?

Аргументов очень много, а максимальная длина аргументов не бесконечна. find запустил du два раза: на первую половину файлов и на вторую.

Tanger ★★★★★
()

Так можно:

find ~/Downloads/ -name '*.mp4' -print0 | du -sh --files0-from=-
Tanger ★★★★★
()
#!/bin/sh
n=0

for i in $(find "${1}/" -type f -name '*.mp4' -exec stat -f%z {} \;); do
  n=$((n+i))
done

echo "$((n/1024)) K"
mord0d ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.