我想替换下面的部分<restApi>
和</restApi>
(包括RESTAPI标记)与另一个字符串之间:替换AWK的XML文件的部分或sed的
...
<restApi>
<baseUrl>https://domain.com/nexus</baseUrl>
<forceBaseUrl>true</forceBaseUrl>
<uiTimeout>60000</uiTimeout>
</restApi>
...
使用AWK,我使用下面的命令做替换:
awk '/<restApi>/,/<\/restApi>/ {sub(/.*/,"<sometag>stuff</sometag>")}1' file.xml
的问题是,AWK替换替换字符串,所以我得到这个输出的每一行:
...
<sometag>stuff</sometag>
<sometag>stuff</sometag>
<sometag>stuff</sometag>
<sometag>stuff</sometag>
<sometag>stuff</sometag>
...
- 我在awk命令中缺少的结果中只有一个
"<sometag>stuff</sometag>"
? - 如何用sed代替它?
- 更换期间间距/标签丢失。我该如何保存它?
'。*'表示线上的所有字符,所以每一行都是变化的。什么是预期产出? – Jotne
错误第一:XML不是字符串。你不应该对XML进行字符串处理。使用XML-aware工具,如xsltproc。 – Tomalak
@Jotne 预计产量为 ... 东西 ... – PapelPincel