Gzip 在 unix 中的文件
Gzip the files in unix
我有一个名为 Apple_PC.csv
的文件
我需要对其进行 gzip 压缩,文件名将是:Apple_PC_<yyyymmddhhmmss>.gz
但是当它解压缩时它应该有原始文件:Apple_PC.csv
试过这个:
gzip -q /users/files/Apple_PC_$(date +%Y%m%d%H%M%S).gzip /users/files/Apple_PC.csv
它给我错误
gzip: Apple_PC_20171212105127.gzip: No such file or directory
我不希望我的目录中的原始文件 (Apple_PC.csv) 在 gzip 成功后可用。
不确定我在这里遗漏了什么。
只需压缩然后移动即可。
gzip /users/files/Apple_PC.csv &&
mv /users/files/Apple_PC.csv.gz \
/users/files/Apple_PC_$(date +%Y%m%d%H%M%S).gzip
我要补充一点,gzip使用压缩文件的文件名来生成解压文件的名称,所以你应该照做。你需要重命名它进出。 .gzip
将不起作用。这可能就是您所需要的。
gzip /users/files/Apple_PC.csv &&
mv /users/files/Apple_PC.csv.gz \
/users/files/Apple_PC_$(date +%Y%m%d%H%M%S).gz
# then to decompress
mv /users/files/Apple_PC_$(# match date here).gz \
/users/files/Apple_PC.csv.gz &&
gzip -d /users/files/Apple_PC.csv.gz
或者,您可以使用 stdin 和 stdout 而不是移动文件,但这可能完全是另一个话题。
还有一个 --name
选项用于保留原始文件名,但我不确定它的便携性如何。
我有一个名为 Apple_PC.csv
的文件
我需要对其进行 gzip 压缩,文件名将是:Apple_PC_<yyyymmddhhmmss>.gz
但是当它解压缩时它应该有原始文件:Apple_PC.csv
试过这个:
gzip -q /users/files/Apple_PC_$(date +%Y%m%d%H%M%S).gzip /users/files/Apple_PC.csv
它给我错误
gzip: Apple_PC_20171212105127.gzip: No such file or directory
我不希望我的目录中的原始文件 (Apple_PC.csv) 在 gzip 成功后可用。 不确定我在这里遗漏了什么。
只需压缩然后移动即可。
gzip /users/files/Apple_PC.csv &&
mv /users/files/Apple_PC.csv.gz \
/users/files/Apple_PC_$(date +%Y%m%d%H%M%S).gzip
我要补充一点,gzip使用压缩文件的文件名来生成解压文件的名称,所以你应该照做。你需要重命名它进出。 .gzip
将不起作用。这可能就是您所需要的。
gzip /users/files/Apple_PC.csv &&
mv /users/files/Apple_PC.csv.gz \
/users/files/Apple_PC_$(date +%Y%m%d%H%M%S).gz
# then to decompress
mv /users/files/Apple_PC_$(# match date here).gz \
/users/files/Apple_PC.csv.gz &&
gzip -d /users/files/Apple_PC.csv.gz
或者,您可以使用 stdin 和 stdout 而不是移动文件,但这可能完全是另一个话题。
还有一个 --name
选项用于保留原始文件名,但我不确定它的便携性如何。