gunzip 目录中的所有 .gz 文件

gunzip 目录中的所有 .gz 文件

我有一个包含大量.txt.gz文件的目录(其中名称不遵循特定模式。)

对他们来说最简单的方法是什么gunzip?我想保留他们原来的名字,让他们whatevz.txt.gzwhatevz.txt

答案1

就这个怎么样?

$ gunzip *.txt.gz

gunzip将创建一个不带后缀的压缩文件.gz并默认删除原始文件(详细信息请参见下文)。*.txt.gz将由您的 shell 扩展到所有匹配的文件。

如果最后一点扩展到很长的文件列表,可能会给您带来麻烦。在这种情况下,请尝试使用find-exec来为您完成这项工作。


从手册页gzip(1)

gunzip takes a list of files on its command line and  replaces  each  file
whose  name  ends  with  .gz, -gz, .z, -z, or _z (ignoring case) and which
begins with the correct magic number with an uncompressed file without the
original  extension.

关于“原名”的注释

gzip 可以存储和恢复压缩时使用的文件名。即使您重命名压缩文件,您也会惊讶地发现它又恢复为原始名称。

来自 gzip 联机帮助页:

默认情况下,gzip 在压缩文件中保留原始文件名和时间戳。这些在使用选项解压缩文件时使用-N。当压缩文件名被截断或文件传输后未保留时间戳时,这非常有用。

还可以使用以下命令查看存储在元数据中的这些文件名file

$ echo "foo" > myfile_orig
$ gzip myfile_orig 
$ mv myfile_orig.gz myfile_new.gz 
$ file myfile_new.gz 
myfile_new.gz: gzip compressed data, was "myfile_orig", last modified: Mon Aug  5 08:46:39 2019, from Unix
$ gunzip myfile_new.gz        # gunzip without -N
$ ls myfile_*
myfile_new

$ rm myfile_*
$ echo "foo" > myfile_orig
$ gzip myfile_orig
$ mv myfile_orig.gz myfile_new.gz 
# gunzip with -N
$ gunzip -N myfile_new.gz     # gunzip with -N
$ ls myfile_*
myfile_orig

答案2

使用此命令来gunzip(解压缩gz文件)当前目录中的所有文件并保留原始文件:

gunzip -k *.gz

答案3

我通过转到目录并使用gzip -d *.gz.

答案4

如果您想保留该.gz文件,可以使用以下命令: $ gunzip -c inputfile.gz >outputfile

相关内容