如何将 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
如果文件来自远程源(即,,ssh
等curl https
),您可以这样做:
ssh remoteserver cat filename.conf.gz | zcat | sudo tee /etc/filename.conf >/dev/null
(请注意,这些示例仅适用于单身的文件,与示例 *.gz 不同,后者是目录中所有经过 gzip 压缩的文件。)
答案3
您可以尝试使用 > 将结果重定向到您想要的位置。