我需要在 xml 文件中搜索一些位于开始/结束标记内的文本,如果找到,则在结束标记之前写入一行文本。
例如,在XML 文件中,我需要在MyTag中搜索“MyText1”。如果找到,请在结束标记之前添加FoundIt,如下所示
<MyTag>
<Tag1>MyText1</Tag1>
<Tag2>MyText2</Tag2>
<Tag3>MyText3</Tag3>
<Tag4>MyText4</Tag4>
<FoundTag1>FoundIt</FoundTag1>
</MyTag>
我能够使用 sed 搜索范围并打印 MyText1。但我真正想做的是在结束标签之前添加“FoundIt”标签。
脚本
/<MyTag>/,/<\/MyTag>/{
/<Tag1>MyText1</Tag1>/p
}
XML 文件内容
<XmlFile>
<BeginTag>
<SomeTag>Text</SomeTag>
</BegingTag>
<MyTag>
<Tag1>MyText1</Tag1>
<Tag2>MyText2</Tag2>
<Tag3>MyText3</Tag3>
<Tag4>MyText4</Tag4>
</MyTag>
<EndTag>
<SomeTag>Text</SomeTag>
</EndTag>
</XmlFile>