【发布时间】:2013-11-04 18:50:43
【问题描述】:
我有一个统一的目录结构,有好几层。 假设客户/用户/年份/类型/文件
例如:client1/user1/2012/personal_files/file1.txt
我想做的是压缩 2011 年以来的所有文件。
本质上是 gzip */*/2011/*/*
这似乎应该很容易做到,但我似乎无法弄清楚如何做。我总是可以编写嵌套的 for 循环,但没有更好的方法吗?
谢谢
【问题讨论】:
我有一个统一的目录结构,有好几层。 假设客户/用户/年份/类型/文件
例如:client1/user1/2012/personal_files/file1.txt
我想做的是压缩 2011 年以来的所有文件。
本质上是 gzip */*/2011/*/*
这似乎应该很容易做到,但我似乎无法弄清楚如何做。我总是可以编写嵌套的 for 循环,但没有更好的方法吗?
谢谢
【问题讨论】:
试试:for F in */*/2011/*/* ; do gzip "$F" ; done
【讨论】:
shopt -s nullglob -- 这样,如果没有匹配的文件,bash 将不会逐字打印通配符表达式