Se o seu gateway for 150.0.3.254
Você pode fazer assim:
sed -i -E 's/([ \t]+gateway[ \t])+[0-9.]+/50.0.3.254/' /etc/network/interfaces
Deixe-me explicar como funciona:
-
-i
- > Significa substituir o arquivo -
-E
- > Use expressões regulares estendidas, evita caracteres especiais como(
to\(
-
's/<PATTERN>/<REPLACEMENT>/' -> the
s 'significa substituição do padrão para o replacemnet -
[ \t]+
- > Espaço ou Tab uma ou mais ocorrências. -
[0-9.]+
- > Números de 0 a 9 e pontuam uma ou mais ocorrências (para o ip) -
(PATTERN)
- > O padrão dentro de()
é armazenado como grupo 1, portanto, ele será usado na substituição (neste caso, espaços ou tabulações + "gateway" + espaços ou tabulações)
-
150.0.3.254
- > É o gateway desejado
Atenciosamente