Jak zrobić gzip kilka plików w jeden plik gz?
Mam 100 plików: cvd1.txt
, cvd2.txt
… cvd100.txt
Jak zrobić gzip
100 plików w jeden plik .gz
, tak aby po gunzip
mieć cvd1.txt
, cvd2.txt
… cvd100.txt
osobno?
Będziesz chciał użyć tar, jak tak:
tar -czvf file.tar.gz cvd*.txt
tar składa pliki razem, podczas gdy gzip następnie wykonuje kompresję.
Quoth the gzip manpage:
Jeśli chcesz utworzyć jeden plik archiwum z wieloma członkami, tak aby członkowie mogli być później rozpakowywane niezależnie, użyj archiwum takiego jak tar lub zip. GNU tar obsługuje opcję -z, aby przezroczysto wywołać gzip. gzip jest zaprojektowany jako uzupełnienie programu tar, a nie jako zamiennik.
Możesz to zrobić używając:
zip my_final_filename.zip my_first_file my_second_file ... my_last_file
unzip my_final_filename.gz
lub
tar cvzf my_final_filename.tar.gz my_first_file my_second_file ... my_last_file
tar -czvf my_final_filename.tar.gz
Niestety gzip
nie jest w stanie tego zrobić. W przypadku chęci uzyskania dodatkowych informacji prosimy o zapoznanie się z komentarzami.
Aby skompresować wiele plików z różnymi wzorcami, możemy to:
tar -czvf deploy.tar.gz **/Alice*.yml** /Bob*.json
to dodać wszystkie pliki .yml, które rozpoczynają się od Alice z dowolnego podkatalogu i dodać wszystkie pliki .json, które rozpoczynają się od Boba z dowolnego podkatalogu.