IP アドレスの 3 番目の部分を置き換えるために、次の sed ワンライナーを書きました。
sed 's/192\.168\.[0-9]*\.\([0-9]*\)/192.168.15.\1/g'
192.168.0.1
192.168.15.1
遅延させたいので、拡張された正規表現を使用して192.168.0
置き換えますが、「-r」オプションを指定すると、次のエラーが発生します。192.168.15
??
$ sed -r 's/192\.168\.[0-9]*\.\([0-9]*\)/192.168.15.\1/g'
sed: -e expression #1, char 44: invalid reference \1 on `s' command's RHS
ここで何が起こっているのか、またキャプチャ グループを使用しているときに式を遅延させる方法を説明できますか?
注:さまざまなアプローチを使用して例を実現できます。私の質問は、例を解決する方法ではありません。拡張された正規表現とキャプチャ グループで sed を使用することに興味があります。