[英]replace text in a line based on specified pattern using sed in bash
I have trouble to replace the text inside a line using sed. 我无法使用sed替换一行内的文本。 here is the example. 这是例子。
<con:startTransactionRequestElement>2a07a832-5b4e-44d2-8826-64d8678f6226</con:startTransactionRequestElement>
i want to only change the content between <con:startTransactionRequestElement>
and </con:startTransactionRequestElement>
for example, change the above content to below: 我只想更改<con:startTransactionRequestElement>
和</con:startTransactionRequestElement>
之间的内容,例如,将以上内容更改为以下内容:
<con:startTransactionRequestElement>abcdefegeawge</con:startTransactionRequestElement>
can someone tell me how to do that? 有人可以告诉我该怎么做吗?
Thanks. 谢谢。
With GNU sed: 使用GNU sed:
sed 's|\(<con:startTransactionRequestElement>\).*\(</con:startTransactionRequestElement>\)|\1abcdefegeawge\2|' file
If you want to edit your file "in place" use sed's option -i
. 如果要“就地”编辑文件,请使用sed的选项-i
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.