複数の候補を決めて、その中でどれかに一致すれば実行、そして、その一致した部分をそのまま使う。
sed -e -i 's#hoge\(1\|2\|3\|4\|5\|6\|7\|8\|9\|10\|11\|12\|13\|14\|15\|16\|17\|18\)hoge#hoge\1hige#' ファイル名
hogeとhogeの間に1~18までの数字がある…みたいな場合、1桁なら[0-9]とかでできるし、絶対に2桁って決まってる場合もやりようがありそうだけど、1桁か2桁かみたいな場合に私が使ってる方法。
\(1\|2\|3\|\)
ポイントは\(〜\)で囲んでおく事で一致した内容を再利用可能にする。
各数字・文字の区切りはパイプ1文字ではなく、バックスラッシュ・パイプで行う事、これをうっかり忘れると、上手くいかない。
\(〜\)で囲んだ部分は再利用したい場所で\1と書けば良い。\(〜\)が複数あれば\2\3\4…と数字を変える事によって使い分けられる。