Как распаковать несколько файлов в один gz файл?
У меня есть 100 файлов: cvd1.txt
, cvd2.txt
… cvd100.txt
Как gzip
100 файлов в один .gz
файл, так что после gunzip
его, я должен иметь cvd1.txt
, cvd2.txt
… cvd100.txt
отдельно?
У меня есть 100 файлов: cvd1.txt
, cvd2.txt
… cvd100.txt
Как gzip
100 файлов в один .gz
файл, так что после gunzip
его, я должен иметь cvd1.txt
, cvd2.txt
… cvd100.txt
отдельно?
Вы захотите использовать tar, например:
tar -czvf file.tar.gz cvd*.txt
tar складывает файлы вместе, в то время как gzip затем выполняет сжатие.
Quoth gzip manpage:
Если вы хотите создать один архивный файл с несколькими членами так, что члены могут быть позже извлечены независимо, используйте архиватор, такой как tar или zip. GNU tar поддерживает опцию -z для прозрачного вызова gzip. gzip разработан как дополнение к tar, а не как замена.
gzip сам по себе ничего не знает о структуре файлов. Чтобы сделать то, что вы хотите, вам нужно сначала поместить файлы в какой-нибудь контейнер (например, в структуру tar или подобную), а затем gzip, который. tar имеет переключатели z и j (для bzip2) на платформах GNU, чтобы сделать это.
Вы можете сделать это, используя:
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
не в состоянии сделать это. В случае получения более подробной информации, пожалуйста, обратитесь к комментариям.
Чтобы сжать несколько файлов с разными шаблонами, мы могли бы так:
tar -czvf deploy.tar.gz **/Alice*.yml** /Bob*.json
это добавит все .yml файлы, которые начинаются с Алисы из любого подкаталога и добавит все .json файлы, которые начинаются с Боба из любого подкаталога.