Gzip-файлы могут быть объединены, как если бы они были обычными текстовыми файлами:
cat <(gzip <<< '<xtr>') file.gz <(gzip <<< '</xtr>') > new.gz
Вышеуказанная команда почти равна следующему:
gzip <<< '<xtr>' > tmpA.gz
gzip <<< '</xtr>' > tmpB.gz
cat tmpA.gz file.gz tmpB.gz > new.gz
Вы можете комбинировать ее с sponge
чтобы избавиться от временного файла:
cat <(gzip <<< '<xtr>') file.gz <(gzip <<< '</xtr>') | sponge file.gz
Использование <()
- это замена процесса , а использование <<<
- это here-string .