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
Unix 用于从.gz文件中删除字符串的Shell脚本_Unix - Fatal编程技术网

Unix 用于从.gz文件中删除字符串的Shell脚本

Unix 用于从.gz文件中删除字符串的Shell脚本,unix,Unix,我想从.gz文件中删除一个字符串值(lk=1&)。我尝试了下面的命令,但得到了错误。有人能帮我解决这个问题吗 命令: sed-e'/lk=1&/'样本_0001.gz 错误: sed:-e表达式#1,字符7:缺少命令 sed:-e表达式#1,字符7:缺少命令 正如错误消息所述,/lk=1&/表达式中缺少命令。我想你想这样做: sed -e 's/lk=1&//g' sample_0001.gz 但这也不行,因为文件似乎已压缩。您需要先解压,进行替换,然后再将其重新解压,例如: gunz

我想从.gz文件中删除一个字符串值(lk=1&)。我尝试了下面的命令,但得到了错误。有人能帮我解决这个问题吗

命令: sed-e'/lk=1&/'样本_0001.gz

错误: sed:-e表达式#1,字符7:缺少命令

sed:-e表达式#1,字符7:缺少命令

正如错误消息所述,
/lk=1&/
表达式中缺少命令。我想你想这样做:

sed -e 's/lk=1&//g' sample_0001.gz
但这也不行,因为文件似乎已压缩。您需要先解压,进行替换,然后再将其重新解压,例如:

gunzip sample_0001.gz
sed -i -e 's/lk=1&//g' sample_0001
gzip sample_0001
如果不想更新zip,只需显示内容并替换字符串并打印结果,然后:

zcat sample_0001.gz | sed -e 's/lk=1&//g'

谢谢这一个帮助我把它弄对了。zcat sample_0001.gz | sed-e's/lk=1&//g'