0
所有文件都有一个统一的目录结构好几层。 比方说客户端/用户/年/类型/文件我如何通配目录中匹配
例如:客户端1/USER1/2012/personal_files/FILE1.TXT
我想要做的是从2011年
实质上压缩所有文件gzip的*/*/2011/*/*
这似乎是它应该是很容易做到的,但我似乎无法弄清楚如何。我总是可以编写嵌套for循环,但没有更好的方法吗?
感谢
所有文件都有一个统一的目录结构好几层。 比方说客户端/用户/年/类型/文件我如何通配目录中匹配
例如:客户端1/USER1/2012/personal_files/FILE1.TXT
我想要做的是从2011年
实质上压缩所有文件gzip的*/*/2011/*/*
这似乎是它应该是很容易做到的,但我似乎无法弄清楚如何。我总是可以编写嵌套for循环,但没有更好的方法吗?
感谢
尝试:for F in */*/2011/*/* ; do gzip "$F" ; done
的gzip:*/*/2011/*/*:没有这样的文件或目录 – Smartelf
@Smartelf,你还需要'禁用了javascript -s nullglob' - 这样如果没有文件匹配,bash将无法打印通配符表达逐字 –
做你的文件名包含空格?我只是更新了上面的代码来解释(通过添加引号)。 – twm