Измерение дискового пространства определенных типов файлов в совокупности - PullRequest
20 голосов
/ 31 августа 2009

У меня есть несколько файлов в нескольких папках:

/home/d/folder1/a.txt
/home/d/folder1/b.txt
/home/d/folder1/c.mov
/home/d/folder2/a.txt
/home/d/folder2/d.mov
/home/d/folder2/folder3/f.txt

Как измерить общий объем дискового пространства, занимаемого всеми файлами .txt в / home / d /?

Я знаю, du даст мне общее пространство данной папки , а ls -l даст мне общее пространство отдельных файлов , но что, если я захочу добавить скопируйте все txt-файлы и просто посмотрите на пространство, занимаемое всеми .txt-файлами в одном гигантском общем для всех .txt в / home / d /, включая folder1 и folder2 и их подпапки, такие как folder3?

Ответы [ 12 ]

0 голосов
/ 28 июля 2016

мое решение, чтобы получить общий размер всех текстовых файлов по заданному пути и подкаталогам (используя perl oneliner)

find /path -iname '*.txt' | perl -lane '$sum += -s $_; END {print $sum}'
0 голосов
/ 22 июля 2016

Мне нравится использовать find в сочетании с xargs:

find . -name "*.txt" -print0 |xargs -0 du -ch

Добавьте хвост, если хотите видеть только общий итог

find . -name "*.txt" -print0 |xargs -0 du -ch | tail -n1
...