仅压缩某些文件

仅压缩某些文件

我有一个文件夹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 cntzip 文件包含很多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 {} +

相关内容