Zip несколько текстовых файлов из нескольких каталогов в один ZIP-файл в одной команде в Bash

1043
nicorellius

У меня есть аккаунт на AWS, и я использую S3 для хранения данных. У меня есть команды, которые позволят мне архивировать файлы данных следующим образом:

data.zip s3_dir/level-1/level-2/*/*/data.txt 

Но есть, скажем, 50 или более уровней. Я хочу сжать все файлы data.txt со всех уровней. Я не такой острый, как мог, потому что любая помощь будет высоко оценена.

2
это должен быть файл почтового индекса? Вы можете использовать [gzip] (http://www.mkssoftware.com/docs/man1/gzip.1.asp) вместо этого? Это не тот формат, но я знаю, что он может быть рекурсивным с опцией -r ... beatgammit 13 лет назад 0

1 ответ на вопрос

3
Ignacio Vazquez-Abrams
find some/dir -name data.txt | zip -@ data.zip 
Это прекрасно ... На самом деле, сразу после того, как я отправил этот вопрос, приятель дал мне несколько советов ... Я использовал команду: `find / some / path -name '* .txt' | xargs -n 100 zip all_data.zip` nicorellius 13 лет назад 0
Что такое `- @` для BTW? nicorellius 13 лет назад 0
Он сообщает `zip`, чтобы получить список имен файлов из stdin, так что вам не нужно использовать` xargs`. Ignacio Vazquez-Abrams 13 лет назад 0

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