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>/' -> thes '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