如何在linux中递归计算某些文件的总大小

noo*_*lag 10 linux bash shell diskspace du

我在布局中的文件夹中散布了一堆文件,例如:

dir1/somefile.gif
dir1/another.mp4
dir2/video/filename.mp4
dir2/some.file
dir2/blahblah.mp4
Run Code Online (Sandbox Code Playgroud)

我需要找到用于MP4文件的总磁盘空间.这意味着它必须以某种方式递归.

我看着du并摆弄着管道的东西,grep但似乎无法弄清楚如何计算MP4文件,无论它们在哪里.

如果可能的话,人类可读的总磁盘空间输出也是必须的,最好是GB.

有任何想法吗?谢谢

Mar*_*rri 8

对于单个文件大小:

find . -name "*.mp4" -print0 | du -sh --files0-from=- 
Run Code Online (Sandbox Code Playgroud)

对于GB中的总磁盘空间:

find . -name "*.mp4" -print0 | du -sb --files0-from=-  | awk '{ total += $1} END { print total/1024/1024/1024 }'
Run Code Online (Sandbox Code Playgroud)