実行例
$ 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
拡張正規表現を使用する
- 後方参照は
\番号
で行う。キャプチャには ()
を使用する