Não estou desenvolvendo script nada, só queria tirar uma dúvida com o sed.
Cenário:
Criei um arquivo onde peguei a saida do comando route -n e armazenei neste arquivo.
Quando eu uso o sed para substituir as primeiras cadeia de três números que vai [0-9]:
$sed -r 's/([0-9]{3})/teste/' route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 teste.168.1.1 0.0.0.0 UG 0 0 0 wlan0
teste.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 wlan0
Ele substitui mas quando uso:
$sed -r 's-^([0-9]{3}).([0-9]{3}).([0-9]{3}).([0-9]{3})$-/teste-' route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 wlan0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 wlan0
Como vocês pode vê ele não substitui.