Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 如何在目录匹配中全局化所有文件_Bash_Unix_Gzip_Glob - Fatal编程技术网

Bash 如何在目录匹配中全局化所有文件

Bash 如何在目录匹配中全局化所有文件,bash,unix,gzip,glob,Bash,Unix,Gzip,Glob,我有一个统一的目录结构,有好几层。 比如说客户/用户/年份/类型/文件 例如:client1/user1/2012/personal_files/file1.txt 我想做的是压缩2011年的所有文件 本质上是gzip*/*/2011/*/* 这似乎应该很容易做到,但我似乎不知道怎么做。我总是可以编写嵌套for循环,但是没有更好的方法吗 感谢尝试:在*/*/2011/*/*中获得F;做gzip“$F”;完成gzip:/*/2011/*/:无此类文件或directory@Smartelf,您还需要

我有一个统一的目录结构,有好几层。 比如说客户/用户/年份/类型/文件

例如:client1/user1/2012/personal_files/file1.txt

我想做的是压缩2011年的所有文件

本质上是gzip*/*/2011/*/*

这似乎应该很容易做到,但我似乎不知道怎么做。我总是可以编写嵌套for循环,但是没有更好的方法吗


感谢

尝试:
在*/*/2011/*/*中获得F;做gzip“$F”;完成

gzip:/*/2011/*/:无此类文件或directory@Smartelf,您还需要
shopt-s nullglob
——这样,如果没有匹配的文件,bash将不会逐字打印通配符表达式。您的文件名是否包含空格?我刚刚更新了上面的代码来解释这一点(通过添加引号)。