【发布时间】:2014-02-21 10:23:42
【问题描述】:
我想从一个文件中复制一些行并将其粘贴到另一个文件的特定位置 使用 shell 脚本定位
例如:我想将行中带有字符串"name2" 和"inst" 并在字符串name2 之后以</inst> 结尾的行从file1.xml 复制到file2.xml。
在 file2.xml 中粘贴行的位置是包含文本“clipKTP”的行之前。
file1.xml
<Manufacturer clause >
<inst abtz "nameABC"> //Inst nameABC
<pressure 100> </pressure>
<temp 50> </temp>
</inst>
<inst abtz "name2"> //Inst name2
<pressure 100> </pressure>
<temp 50> </temp>
</inst>
<inst abtz "name5678"> //Inst name5678
<pressure 100> </pressure>
<temp 50> </temp>
</inst>
</Manufacturer>
file2.xml
<Measure> atk
<inst abtz "name1"> // Inst name1
<pressure 100></pressure>
<temp 50></temp>
</inst>
<clipton> "clipKTP"
<slave slvgo > </slave>
</clipton>
</Measure>
结果file2.xml 应该是这样的
<Measure> atk
<inst abtz "name1"> // Inst name1
<pressure 100></pressure>
<temp 50></temp>
</inst>
<inst abtz "name2"> //Inst name2
<pressure 100></pressure>
<temp 50></temp>
</inst>
<clipton "clipKTP">
<slave slvgo > </slave>
</clipton>
</Measure>
【问题讨论】:
-
到目前为止你做了什么?
-
您可以在编辑器中执行此操作吗?是你需要在 shell 中执行此操作的原因吗,因为您会重复执行此操作?如果有,情况如何?我可以想到一个 awk 脚本,但需要更多信息来帮助。
-
我的第一个想法是使用适当的 XML 解析器,但遗憾的是您的 xml 无效。