想要仅在第一次使用sed时替换字符串

时间:2013-08-02 13:49:22

标签: string replace sed

我想仅在第一次出现时替换特殊字符(=)。

示例:

abc=abc.def=

预期输出为:

abc.def=

我尝试了以下命令:sed -e 's/\([^=]*\)\(=.*\)/\2/'  但我得到的输出是:

=abc.def=

1 个答案:

答案 0 :(得分:2)

请注意,您的示例建议您删除所有内容,包括第一个等号。

将等号移动到正则表达式的第一部分,删除正则表达式的剩余部分(因为您只需要匹配要删除的部分)并将匹配替换为“nothing”以将其删除:

sed -e 's/^[^=]*=//'