我无法获得XML的确切输出
<String="12345">
<Bin>
<Value1 />
<Value2 />
</Bin>
</String>
这里需要找到<String=12345>
,然后在<Bin>
之后插入一行类似于下面的内容
<String="12345">
<Bin>
<ValueXxxx />
<Value1 />
<Value2 />
</Bin>
</String>
预先感谢您的帮助。
答案 0 :(得分:0)
尽管我不打算鼓励人们解析或编辑结构化数据
与xml
一样,以下方法适用于此特定情况:
nl=$'\n'
nl="\\$nl"
sed '
:l
N
$!b l
s#\(<String="12345">\n[^\n]*\n\)#\1<ValueXxxx />'"$nl"'#
' input.xml
产生:
<String="12345">
<Bin>
<ValueXxxx />
<Value1 />
<Value2 />
</Bin>
</String>
<String="12345">\n[^\n]*\n\
与指定的匹配
行后接任意行。s
命令插入字符串<ValueXxxx />
和换行符
在匹配的行之后。