Gzip在unix中处理文件
我有一个文件名为Gzip在unix中处理文件,unix,gzip,ksh,Unix,Gzip,Ksh,我有一个文件名为Apple\u PC.csv 我需要gzip文件名为:Apple\u PC\uuuz.gz 但解压时,它应该有原始文件:Apple\u 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\u PC.csv
我需要gzip文件名为:Apple\u PC\uuuz.gz
但解压时,它应该有原始文件:Apple\u 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
我不希望gzip成功后我的目录中的原始文件(Apple_PC.csv)可用。
不确定我在这里遗漏了什么。只需压缩它,然后移动它
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
选项用于保留原始文件名,但我不确定它的可移植性。也考虑过同样的问题。我相信会有一些直接的命令。见编辑。我为解压添加了一些细节,您可以查看--name
选项,但是ymmv.compress and move保留了原始文件,并且删除了扩展名.csv。如果我不能控制减压怎么办。