【发布时间】:2015-02-27 15:13:24
【问题描述】:
我有这个 xml 文件:
<xml>
<segmentrecorddb>
...
</segmentrecorddb>
</xml>
我想写一个 sh 文件来添加一个内部 xml 节点
表示文件将是:
<xml>
<segmentrecorddb>
<myNoed>
</myNoed>
...
</segmentrecorddb>
</xml>
如何删除前两行
添加2行并添加
编辑1:
我尝试过:
➜ Downloads sed "s/<xml><segmentrecorddb>/<xml><segmentrecorddb><myNode></myNode>/" menyHtml.html > menyHtml.html
得到:
sed: 1: "s/<xml><segmentrecorddb ...": bad flag in substitute command: 'm'
编辑2:
<xml>
<segmentrecorddb>
...
</segmentrecorddb>
</xml>
我跑了
sed 's/<segmentrecorddb>/<segmentrecorddb>\n<myNode><\/myNode>/' < menyHtml.html > menyHtml1.html
输入
得到输出:
<xml>
<segmentrecorddb>n<myNode></myNode>
...
</segmentrecorddb>
</xml>
我该如何解决这个问题?
【问题讨论】:
-
您可以使用
sed命令来编辑流...所以,现在您只需要打开一个流并扫描到某个点即可。也许使用grep -
我会检查的。你能写出你想到的语法吗?
-
您需要按照下面我的回答转义 / 前面的 myNode。
-
另外,你不应该这样做
> mnyHtml.html,因为这会在输入文件被读取之前覆盖它。您需要使用不同的文件名。