2011-09-12 3 views
0

に行を追加するスクリプトが必要:は次のように行を含むすべてのファイルのXMLファイル

<class name="blahblahblah" foo="bar" fooz="baz"> 

私が右その後、この行を追加したいと思います。

<cache usage="read-write"> 

検索のためのキーのテキストは、私は、このためのbashシェルへのアクセス権を持っている

<class name= 

です。

ありがとうございます!

+1

適切なXMLツールを入手してください。 SedとgrepはXMLの処理には適していません。プレーンテキストのように見えるかもしれませんが、外見は欺かれています。 –

+0

ありがとう、larsmans。しかし、この質問にはXMLに特有のものは何もありません。私は、ファイルの特定のポイントに1行のテキストを追加するだけです。 – Jacko

答えて

1

この方法を試してください。

sed -i '/<class name=*/ a\ 
<cache usage="read-write">' filename.xml 

これは単なるコマンドであることを覚えておいてください。 -iオプション(-in-place)は、指定されたファイルを変更します(in-place)。

0

Awkはオプションですか?

awk '{ print; if ($0 ~ "<class name=") print "<cache usage=\"read-write\">"; }' 

(。。私はまだ強くXMLファイルに行指向のツールを使用してオブジェクトもののまともなXMLツールセットは、長期的にはあなたに多くのトラブルを節約できます)

関連する問題