-1

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

Я попробовал tar с zip, но tar создал дополнительные папки, которые мне не нужны.

Файлы, которые я хочу заархивировать, это cp1.txt, cp2.txt, cp3.txt .

После распаковки файлов должны быть cp1.txt, cp2.txt, cp3.txt

Но используя команду tar с gzip, он создает файлы, такие как

/bbpre/spool/COPY/ZIP/cp1.txt,cp2.txt,cp3.txt

Я не хочу /bbpre/spool/COPY/ZIP/ я хочу только файлы.

2 ответа2

1

С помощью tar во время извлечения вы можете удалить первые n ведущих компонентов имени файла / пути.

В вашем случае, если вы сделали tar из файлов:

/bbpre/spool/COPY/ZIP/cp1.txt  
/bbpre/spool/COPY/ZIP/cp2.txt
/bbpre/spool/COPY/ZIP/cp3.txt

путем извлечения с флагом strip-components вы можете удалить ненужные уровни пути файла:

tar -xvzf yourtar.tar --strip-components=4

удалит /bbpre/spool/COPY/ZIP и поместит cp1.txt, cp2.txt, cp3.txt в текущий рабочий каталог.

-1

Если я вас правильно понимаю, вы хотите взять несколько файлов и сжать их одновременно, а затем разархивировать обратно в несколько файлов одновременно. Вот как это сделать:

$ touch 1.txt 2.txt 3.txt
$ gzip 1.txt 2.txt 3.txt
$ gzip -d 1.txt.gz 2.txt.gz 3.txt.gz

Я просто попробовал это на виртуальной машине, и он создал 3 файла, распаковал их отдельно, а затем распаковал их отдельно.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .