我有一个文件夹cnt
,里面有
a/estimate.txt
a/otherFolder/....
b/estimate.txt
b/otherFolder/...
...
z/estimate.txt
z/otherFolder/..
我想要一个包含
a/estimate.txt
b/estimate.txt
...
z/estimate.txt
目前我正在使用的zip -r cnt.zip cnt
zip 文件包含很多otherFolder
我不想要的东西。
如何实现我提到的问题?
答案1
看起来您只需要 的estimate.txt
第一级子文件夹中的文件cnt
。
您可以使用通配符来执行此操作;只需运行zip -r cnt.zip cnt/*/estimate.txt
。
以下是一个例子:
$ ls -R cnt
cnt:
a b c d e f g h i j k l m n o p q r s t u v w x y z
cnt/a:
estimate.txt otherfolder
cnt/a/otherfolder:
file1 file2
cnt/b:
estimate.txt otherfolder
cnt/b/otherfolder:
file1 file2
...
cnt/y/otherfolder:
file1 file2
cnt/z:
estimate.txt otherfolder
cnt/z/otherfolder:
file1 file2
$ zip -r cnt.zip cnt/*/estimate.txt
adding: cnt/a/estimate.txt (stored 0%)
adding: cnt/b/estimate.txt (stored 0%)
...
adding: cnt/y/estimate.txt (stored 0%)
adding: cnt/z/estimate.txt (stored 0%)
答案2
尝试这个:
find /full/path/to/cnt/ -type f -name "estimate.txt" -exec zip -r cnt.zip {} +