2011-03-29 01:22:26 +0000 2011-03-29 01:22:26 +0000
77
77
Advertisement

Как распаковать несколько файлов в один gz файл?

Advertisement

У меня есть 100 файлов: cvd1.txt, cvd2.txtcvd100.txt

Как gzip 100 файлов в один .gz файл, так что после gunzip его, я должен иметь cvd1.txt, cvd2.txtcvd100.txt отдельно?

Advertisement
Advertisement

Ответы (5)

85
85
85
2011-03-29 01:26:09 +0000

Вы хотите tar ваши файлы вместе и gzip результирующий tar файл.

tar cvzf cvd.tar.gz cvd*.txt

Для распаковки gzip’d tar файла вы сделаете:

tar xvzf cvd.tar.gz -C /path/to/parent/dir

Это распакует ваши файлы в каталоге /path/to/parent/dir.

25
25
25
2011-03-29 01:26:52 +0000

Вы захотите использовать tar, например:

tar -czvf file.tar.gz cvd*.txt

tar складывает файлы вместе, в то время как gzip затем выполняет сжатие.

Quoth gzip manpage:

Если вы хотите создать один архивный файл с несколькими членами так, что члены могут быть позже извлечены независимо, используйте архиватор, такой как tar или zip. GNU tar поддерживает опцию -z для прозрачного вызова gzip. gzip разработан как дополнение к tar, а не как замена.

13
Advertisement
13
13
2011-03-29 01:26:32 +0000
Advertisement

gzip сам по себе ничего не знает о структуре файлов. Чтобы сделать то, что вы хотите, вам нужно сначала поместить файлы в какой-нибудь контейнер (например, в структуру tar или подобную), а затем gzip, который. tar имеет переключатели z и j (для bzip2) на платформах GNU, чтобы сделать это.

6
6
6
2017-12-02 07:50:44 +0000

Вы можете сделать это, используя:

zip my_final_filename.zip my_first_file my_second_file ... my_last_file

unzip my_final_filename.gz

или

tar cvzf my_final_filename.tar.gz my_first_file my_second_file ... my_last_file

tar -czvf my_final_filename.tar.gz

К сожалению, gzip не в состоянии сделать это. В случае получения более подробной информации, пожалуйста, обратитесь к комментариям.

1
Advertisement
1
1
2017-08-23 09:12:24 +0000
Advertisement

Чтобы сжать несколько файлов с разными шаблонами, мы могли бы так:

tar -czvf deploy.tar.gz **/Alice*.yml** /Bob*.json

это добавит все .yml файлы, которые начинаются с Алисы из любого подкаталога и добавит все .json файлы, которые начинаются с Боба из любого подкаталога.

Advertisement

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

6
10
11
5
3
Advertisement
Advertisement