我有一个文件file.gz
,当我尝试使用 解压缩该文件时gunzip file.gz
,它解压缩了该文件,但仅包含已提取并删除的file.gz
文件。
如何通过保留解压缩文件和压缩文件来解压缩?
我有一个.gz
名为 file.txt 的document.txt.gz
文件。它应该是一个被压缩为 gzip 文件的文本文件。当我解压缩时,我得到一个损坏的文件。
我运行了以下命令:
$ file document.txt.gz
Run Code Online (Sandbox Code Playgroud)
结果是
document.txt.gz: gzip compressed data, max speed, from FAT filesystem (MS-DOS, OS/2, NT)
Run Code Online (Sandbox Code Playgroud)
我再次在解压缩的部分上运行文件命令
$ file document.txt.gz
Run Code Online (Sandbox Code Playgroud)
结果是
document.txt: gzip compressed data, last modified: Mon Mar 12 22:16:42 2018, from Unix
Run Code Online (Sandbox Code Playgroud)
我不确定为什么我的未压缩文件仍然是 gzip 压缩数据。
有没有办法找回原始文件?
我试图按字母顺序(在这种情况下也意味着日期和迭代)顺序提取某些文件的内容,并且当我首先使用ls
以下命令测试该过程时:
$ find /opt/minecraft/wonders/logs/ -name 20* -type f -mtime -3 -print0 \
| sort | xargs -r0 ls -l | awk -F' ' '{print $6 " " $7 " " $9}'
Run Code Online (Sandbox Code Playgroud)
我得到了一个积极的结果:
Aug 18 /opt/minecraft/wonders/logs/2018-08-17-3.log.gz
Aug 18 /opt/minecraft/wonders/logs/2018-08-18-1.log.gz
Aug 19 /opt/minecraft/wonders/logs/2018-08-18-2.log.gz
Aug 19 /opt/minecraft/wonders/logs/2018-08-19-1.log.gz
Aug 20 /opt/minecraft/wonders/logs/2018-08-19-2.log.gz
Aug 20 /opt/minecraft/wonders/logs/2018-08-20-1.log.gz
Run Code Online (Sandbox Code Playgroud)
但是,当我实际提取文件时,排序顺序丢失了:
$ find /opt/minecraft/wonders/logs/ -name 20* -type f -mtime -3 -print0 \
| sort | xargs -r0 gunzip -vc | grep "\/opt.*"`
/opt/minecraft/wonders/logs/2018-08-18-1.log.gz: 66.8%
/opt/minecraft/wonders/logs/2018-08-18-2.log.gz: 83.1%
/opt/minecraft/wonders/logs/2018-08-19-1.log.gz: 70.3% …
Run Code Online (Sandbox Code Playgroud)