使用bash中的sed替换基于指定模式的行中的文本

时间:2016-06-02 20:22:01

标签: bash sed

我无法使用sed替换行内的文本。 这是一个例子。

<con:startTransactionRequestElement>2a07a832-5b4e-44d2-8826-64d8678f6226</con:startTransactionRequestElement>

我想只改变它们之间的内容 <con:startTransactionRequestElement>和 例如</con:startTransactionRequestElement>,将上述内容更改为:

<con:startTransactionRequestElement>abcdefegeawge</con:startTransactionRequestElement>

有人可以告诉我该怎么做吗?

感谢。

1 个答案:

答案 0 :(得分:3)

使用GNU sed:

sed 's|\(<con:startTransactionRequestElement>\).*\(</con:startTransactionRequestElement>\)|\1abcdefegeawge\2|' file

如果你想编辑你的文件&#34;就地&#34;使用sed的选项-i