【问题标题】:Calculate the Size of a Set of Files计算一组文件的大小
【发布时间】:2012-02-06 19:17:27
【问题描述】:

使用命令行工具 (Mac OSX),我如何计算特定目录中所有 jpg 文件的大小,例如~/Pictures/?

我知道如何列出这些 jpg 文件,但不知道如何计算它们的总大小。

$ cd ~/Pictures/
$ find . -name '*.jpg'
# Help?

谢谢。

【问题讨论】:

    标签: macos bash shell command-line


    【解决方案1】:

    使用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
    • 谢谢你和+1(哎呀,此时权限不够)!
    • 在 OSX Mountain Lion shopt -s globstar 上导致“bash: shopt: globstar: invalid shell option name”
    【解决方案2】:

    不确定 Mac OSX 的 wc,但它应该能够计算字节数:

    shopt -s globstar
    cat **/*.jpg | wc -c
    

    【讨论】:

      【解决方案3】:

      这可能对你有用:

       find . -name "*.jpg" -exec stat -c "%s" {} \; | paste -sd'+' | bc
      

      【讨论】:

        【解决方案4】:

        尝试:

        du --max-depth=1 -m

        它列出了工作目录中的所有文件/文件夹,它们的总大小以兆字节为单位...

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-08-17
          • 2010-10-10
          • 2010-12-22
          • 1970-01-01
          • 1970-01-01
          • 2010-10-17
          相关资源
          最近更新 更多