我已经尝试了gzip
和gunzip
命令,但我得到了
gunzip *.gz
gzip: invalid option -- 'Y'
gunzip -S-1800-01-01-000000-g01.h5.gz
gzip: compressed data not read
from a terminal. Use -f to force decompression. For help, type: gzip -h
如果我尝试该-f
选项,则需要很长时间才能处理单个文件,并且命令无法成功执行。我是否遗漏了什么?
答案1
您可以使用以下命令。
转到文件所在的目录.gz
并运行命令:
for f in *.gz ; do gunzip -c "$f" > /home/$USER/"${f%.*}" ; done
它将提取所有具有原始名称的文件并将其存储到当前用户主目录(/home/username
)。您可以将其更改为其他位置。
编辑 :
gunzip *.gz
此命令同样有效。但是,默认情况下,它会替换原始文件。
答案2
选项1:使用单引号解压多个文件(简短版本)
gunzip '*.gz'
注意,*.gz
word 放在两个单引号之间,因此 shell 不会将其识别为通配符。
选项 # 2:使用 shell for 循环解压多个文件(长版本)
for g in *.gz; do gunzip $g; done
编辑 :
我刚刚尝试过:
gunzip -dk *.gz
并且它成功了。
-d
解压缩并k
保留原始文件。
答案3
Linux 用户:
使用以下命令提取当前目录及其子目录中最少量的 .gz 文件
gunzip *.gz
使用以下命令提取当前目录及其子目录中的任意数量的 .gz 文件
sudo find . -name "*.gz" | xargs gunzip