Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/132.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Gzip在unix中处理文件_Unix_Gzip_Ksh - Fatal编程技术网

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。如果我不能控制减压怎么办。