![如何对文件进行 gunzip 压缩并保留 .gz 文件?](https://linux22.com/image/1216661/%E5%A6%82%E4%BD%95%E5%AF%B9%E6%96%87%E4%BB%B6%E8%BF%9B%E8%A1%8C%20gunzip%20%E5%8E%8B%E7%BC%A9%E5%B9%B6%E4%BF%9D%E7%95%99%20.gz%20%E6%96%87%E4%BB%B6%EF%BC%9F.png)
gunzip 的默认行为是在解压缩后删除 .gz 文件。
我该如何防止它删除该文件?
如果不包含此功能,那么是否有其他程序可以实现此功能?
我正在使用 Ubuntu 9.04
答案1
您正在寻找:
gzcat x.txt.gz >x.txt
该gzcat
命令相当于gunzip -c
简单地将输出流写入stdout
。这将使压缩文件保持不变。因此,您还可以使用:
gunzip -c x.txt.gz >x.txt
请注意,在某些系统上,gzcat 也称为,因此zcat
请像这样运行:
zcat x.txt.gz >x.txt
答案2
您可以使用-c
gunzip 选项将输出写入 stdout,然后通过管道将其传输到您选择的文件:
gunzip -c compressed-file.gz > decompressed-file
更多详情手册页。
答案3
一个更简单的解决方案是仅使用 gunzip 作为过滤器,如下所示:
gunzip < myfile.gz > myfile
答案4
如果它实际上是一个 tarball(.tgz 或 .tar.gz 扩展名),那么您不需要像迄今为止的所有答案那样重定向到文件,而是需要将其通过管道传输到 tar,如下所示:
gunzip -c myfile.tar.gz | tar xvf -
以便您获得实际内容。