VaT*_*aTo 4 find disk-usage images
我想知道是否有一个命令可以告诉我 .jpg 文件有多少存储空间(例如)。就像如果我这样做find / -iname "*.jpg"
可以添加找到的每个文件的大小并输出总数。
find ./path/to/your/drive -type f -name '*.jpg' -exec du -ch {} +
Run Code Online (Sandbox Code Playgroud)
或者更快
find /path/to/your/drive -name "*.jpg" -print0 | du -ch --files0-from=-
Run Code Online (Sandbox Code Playgroud)
或者简单地说,
du -ch /path/to/your/drive/*.jpg | grep total
Run Code Online (Sandbox Code Playgroud)
或者在的帮助下awk
,
find /path/to/your/drive -iname "*.jpg" -ls | awk '{total += $7} END {print total}'
Run Code Online (Sandbox Code Playgroud)
在我的系统文件大小显示在第七个字段上,如果它对您来说不同,则相应地进行调整。
根据 OP 在评论中的要求,如果您想从目录和总大小中查找所有图像,您可以使用此命令(@Stéphane Chazelas 建议)
find . -type f -exec file --mime-type {} + | sed -n 's|: image/[^[:blank:]]*$||p' | tr '\n' '\0' | du --files0-from=- -hc
Run Code Online (Sandbox Code Playgroud)
或者
du -shc $(find . -name '*' -exec file {} \; | grep -o -P '^.+: \w+ image' | cut -d':' -f1) | grep total
Run Code Online (Sandbox Code Playgroud)