如何使用sed替换较大字符串中的字符串

时间:2013-10-15 19:54:33

标签: sed

我确定之前已写过这个...我正在尝试用sed替换一个字符串,其格式如下:

EFF=<some text>;

字符串始终以'EFF ='开头,以';'

结尾

我已经尝试了以下但是它以某种方式删除了远远超过它应该的(而不是仅删除这个特定的部分,它删除直到最后的';'在较大的字符串中),所以我不确定是否我的命令可以更具体:

sed -i 's/EFF=.*;//g'

例如较大的字符串:

<some text>;EFF=<some text>;<some text>;<some text>; 

“某些文字”不相同

1 个答案:

答案 0 :(得分:4)

*贪婪,它匹配最长的字符串。您需要从匹配项中排除;

sed -i 's/EFF=[^;]*;//g' filename