我如何将 gunzip 压缩到不同的目标目录?

我如何将 gunzip 压缩到不同的目标目录?

如何将 gunzip 压缩到当前目录以外的目标目录?

这不起作用:

gunzip *.gz /putthemhere/

答案1

要求gunzip输出到标准输出并重定向到该目录中的文件:

gunzip -c file.gz > /THERE/file

zcat是 的快捷方式gunzip -c

如果要对多个文件进行 gunzip 压缩,请遍历所有文件:

for f in *.gz; do
  STEM=$(basename "${f}" .gz)
  gunzip -c "${f}" > /THERE/"${STEM}"
done

(这里basename用于获取文件名中不包含扩展名的部分)

答案2

如果需要提取单个文件写入根拥有的目录,然后使用sudo tee

zcat filename.conf.gz | sudo tee /etc/filename.conf >/dev/null

如果文件来自远程源(即,,sshcurl https),您可以这样做:

ssh remoteserver cat filename.conf.gz | zcat | sudo tee /etc/filename.conf >/dev/null

(请注意,这些示例仅适用于单身的文件,与示例 *.gz 不同,后者是目录中所有经过 gzip 压缩的文件。)

答案3

您可以尝试使用 > 将结果重定向到您想要的位置。

相关内容