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

时间:2013-12-30 06:33:01

标签: unix

我想从.gz文件中删除字符串值(lk = 1&)。我尝试使用以下命令并得到错误。有人可以帮我解决这个问题吗?

命令: sed -e'/ lk = 1& /'sample_0001.gz

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

1 个答案:

答案 0 :(得分:1)

  

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'