我想使用 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/
我只想要文件。
答案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
当前工作目录。
答案2
如果我理解正确的话,您需要一次性压缩多个文件,然后再一次性解压为多个文件。操作方法如下:
$ 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 个文件,分别对它们进行 gzip 压缩,然后分别解压缩它们。