2016-04-20 1 views
0

こんにちは、私は私が間にいくつかの他のタグを追加する必要が1つの特定のタグの開口部の間にいくつかのタグを追加するとLinuxで閉じ

<blacklist> 


</blacklist> 

の下にショーなどの2つのタグの間にいくつかのタグを追加する必要がどこに私の設定ファイルを持っていますこれら2つのタグは以下の通りです

<blacklist> 
<blacklistEntry> 
<groupNames>A,B,C<\/groupNames> 
<errorCode>0222<\/errorCode> 
</blacklistEntry> 
</blacklist> 

私はsedを使ってみましたが、これを達成できませんでした。これで助けてください

+0

sed' 'でXMLを解析しないでくださいmyprog.sedを言って、それをファイルにコピーします。代わりにXMLパーサーを使用してください。また、これまでに何を試みましたか? – fedorqui

+0

私は設定ファイルを変更した後、自動化のシナリオをテストするためにsedを使っています。 – Mallik

+0

私は以下のsed -iの/ / abc <\/groupNames>//d 'path/config/webapp.xmlを試しましたが、エラー – Mallik

答えて

0

sed -i 's/<blacklist>/<blacklist>\n<blacklistEntry>\n<groupNames>A\,B\,C<\/groupNames>\n<errorCode>0222<\/errorCode>\n<\/blacklistEntry>/g' file.xml

+0

ありがとう7171uそれは働いた:) – Mallik

0

ここにあなたが望むことをするsedプログラムがあります。

#!/usr/bin/env sed -f 

/<blacklist>/a \ 
<blacklistEntry>\ 
<groupNames>A,B,C<\/groupNames>\ 
<errorCode>0222<\/errorCode>\ 
</blacklistEntry> 

そして、それを実行します:

chmod +x myprog.sed 
./myprog.sed myinput.xml 
+0

こんにちはジョンの返信のおかげで、私はスクリプトファイルの代わりに1行のコマンドとしてそれを持つことができます。 – Mallik

関連する問題