sed で置換する

実行例

  • 名前が チ で終わる犬に忠犬をつける
$ cat sample.xml 
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<root>
    <dog name="ソフィア" age="7" />
    <dog name="ポチ" age="5" />
    <dog name="コロ" age="10" />
    <dog name="ハチ" age="5" />
</root>
$ sed -i -E 's/([ア-ン]+チ)/忠犬\1/g' sample.xml
$ cat sample.xml 
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<root>
    <dog name="ソフィア" age="7" />
    <dog name="忠犬ポチ" age="5" />
    <dog name="コロ" age="10" />
    <dog name="忠犬ハチ" age="5" />
</root>

コマンド説明

  • sed -i -E 's/([ア-ン]+チ)/忠犬\1/g' sample.xml
    • -i で置換した結果を元ファイルに上書きする
    • -E 拡張正規表現を使用する
    • 後方参照は \番号 で行う。キャプチャには () を使用する