【问题标题】:How to gzip Certain Extension in All-Directories?如何在所有目录中 gzip 某些扩展?
【发布时间】:2021-07-29 14:01:57
【问题描述】:

我一直在尝试在 iMac 上压缩 .BRIK 文件。但是,具有此扩展名的文件分散在各处,并且具有多层次的深度。我一直在做的是逐个文件夹并使用它

gzip *BRIK

但是,一次处理一个文件夹很繁琐并且需要很长时间。我也试过了

gzip -r *BRIK

gzip -r *BRIK ./

他们没有工作。有什么建议吗?

【问题讨论】:

  • 我不确定它是否能在 iOS 上运行良好,但我会使用 find "$root_dir" -name '*BRIK' -exec gzip {} +

标签: linux unix gzip


【解决方案1】:

您正在寻找的工具是 find 用于发现文件,xargs 用于调用 gzip 并提供文件名称。

find . -name '*.BRIK' -print0 | xargs -0 gzip

在此处使用-print0-0 可以顺利处理名称中带有空格的目录和文件。

【讨论】:

    【解决方案2】:

    除了find,zsh 中的递归通配符超级好用且易于使用。在 zsh 中,您可以简单地:

    gzip **/*.BRIK
    

    (自 Catalina 以来,zsh 一直是 macOS 中的默认 shell。)

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-08
    • 1970-01-01
    • 1970-01-01
    • 2013-08-14
    • 2014-09-15
    • 2021-04-05
    • 2023-04-06
    相关资源
    最近更新 更多