如何将文件压缩到其他目标目录?


Answers:


104

要求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用于获取文件名的一部分,不带扩展名)


3
创建文件,但不保留文件所有权,权限等。根据您的具体情况,这可能是好是坏。
克里斯·约翰逊

2

如果您需要解压缩单个文件写入根目录,请使用sudo dd

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压缩文件。)


对于具有root特权的写作,sudo tee $filename >/dev/null比使用更加习惯dd
dcoles

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.