如何在使用sed的特定行之前将文件内容插入另一个文件?如何在特定行之前将文件内容插入另一个文件
的例子,我有一个具有以下file1.xml:
<field tagRef="376">
</field>
<field tagRef="377">
</field>
<field tagRef="58">
</field>
<group ref="StandardMessageTrailer" required="true"/>
</fieldList>
</message>
和file2.xml具有如下:
<field tagRef="9647">
<description>Offset</description>
</field>
<field tagRef="9648">
<description>Offset Units/Direction</description>
</field>
<field tagRef="9646">
<description>Anchor Price</description>
</field>
我怎么能只
之前插入的文件2内容到文件1<group ref="StandardMessageTrailer" required="true"/>
所以它看起来就像这样:
<field tagRef="376">
</field>
<field tagRef="377">
</field>
<field tagRef="58">
</field>
<field tagRef="9647">
<description>Offset</description>
</field>
<field tagRef="9648">
<description>Offset Units/Direction</description>
</field>
<field tagRef="9646">
<description>Anchor Price</description>
</field>
<group ref="StandardMessageTrailer" required="true"/>
</fieldList>
</message>
我知道如何使用
sed 'group ref="StandardMessageTrailer"/r file2.xml' file1.xml > newfile.xml
该行后面插入,但我想之前将其插入。
欣赏的帮助
我很想看到一个实际的sed解决方案 - 我知道这应该是可能的东西像'/ StandardMessageTrailer/{x; r插入; G}'但这不是很... – Cascabel 2010-03-25 00:54:42