【发布时间】:2012-02-06 19:17:27
【问题描述】:
使用命令行工具 (Mac OSX),我如何计算特定目录中所有 jpg 文件的大小,例如~/Pictures/?
我知道如何列出这些 jpg 文件,但不知道如何计算它们的总大小。
$ cd ~/Pictures/
$ find . -name '*.jpg'
# Help?
谢谢。
【问题讨论】:
标签: macos bash shell command-line
使用命令行工具 (Mac OSX),我如何计算特定目录中所有 jpg 文件的大小,例如~/Pictures/?
我知道如何列出这些 jpg 文件,但不知道如何计算它们的总大小。
$ cd ~/Pictures/
$ find . -name '*.jpg'
# Help?
谢谢。
【问题讨论】:
标签: macos bash shell command-line
使用xargs通过du运行文件,像这样:
find . -name "*html" -print0 | xargs -0 du -shc
或者,在 bash 中打开 globstar,它允许您使用 **/ 来匹配目录和子目录:
shopt -s globstar
du -shc **/*.jpg
(注意,du 上的 -c 选项会产生总计。)
【讨论】:
xargs du -shc 在输入行包含空格时失败,例如./Photo Booth Library/Pictures/Photo on 2011-06-23 at 06.30.jpg
shopt -s globstar 上导致“bash: shopt: globstar: invalid shell option name”
不确定 Mac OSX 的 wc,但它应该能够计算字节数:
shopt -s globstar
cat **/*.jpg | wc -c
【讨论】:
这可能对你有用:
find . -name "*.jpg" -exec stat -c "%s" {} \; | paste -sd'+' | bc
【讨论】:
尝试:
du --max-depth=1 -m
它列出了工作目录中的所有文件/文件夹,它们的总大小以兆字节为单位...
【讨论】: