Para linhas formatadas exatamente como mostrado na pergunta, isso será feito:
sed -E 's/\.[0-9]+[ :]/ /g' input-file
Como funciona:
-
A opção
-E
ativa Expressões regulares estendidas . -
s/SEARCH/REPLACE/g
globalmente (/g
) substitui (s/
) SEARCH com REPLACE . -
\.[0-9]+[ :]
corresponde a um ponto após qualquer número positivo de dígitos após um espaço ou dois pontos.
No entanto, isso será interrompido se a formatação variar um pouco. Essa abordagem pode resultar em robustez:
sed -E 's/(([0-9]+\.){3}[0-9]+)[^ ]+//g' input-file
Como funciona:
-
([0-9]+\.){3}[0-9]+
corresponde a um IP (grupos de três dígitos seguidos de pontos mais um grupo de dígitos adicional). -
Os parênteses circundantes declaram a correspondência anterior como a primeira sub-correspondência (
).
-
[^ ]+
corresponde a qualquer caractere não espacial que segue o IP.