архивирование только определенных файлов

У меня есть папка 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, который много вещи включают otherFolder, что я не хочу.

Как добиться того, что я упоминаю в вопросе?

0
задан 12 April 2015 в 03:42

2 ответа

Похоже, что Вам только нужно эти estimate.txt файлы в 1-х подпапках уровня 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%)
1
ответ дан 12 April 2015 в 03:42

Попробуйте это:

find /full/path/to/cnt/ -type f -name "estimate.txt" -exec zip -r cnt.zip {} +
1
ответ дан 12 April 2015 в 03:42

Другие вопросы по тегам:

Похожие вопросы: