使用sed替换一行的匹配部分

时间:2014-09-16 23:00:46

标签: regex sed

我在test.txt文件中有这一行。我只是想替换它的一部分,这是" location =" http://adcgen07.us.oracle.com:7777 /"。整条线是:

    <soap:address xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" location="http://adcgen07.us.oracle.com:7777/soa-infra/services/default/TestProducer1/client"/>

我为匹配字符串编写的正则表达式是

    \blocation="http\b.*\b:777[0-9]

但如果我使用sed替换字符串,它会给我以下错误。

    sed -i .bak 's/\blocation="http\b.*\b:777[0-9]/hello/' test.txt
    sed: -e expression #1, char 1: unknown command: `.'

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

试试这个:

sed -i ".bak" "s/location=\"http:\/\/.*:777[0-9]/hello/" test.txt