Para linhas formatadas exatamente como mostrado na pergunta, isso será feito:
sed -E 's/\.[0-9]+[ :]/ /g' input-file
Como funciona:
-
A opção
-Eativa Expressões regulares estendidas . -
s/SEARCH/REPLACE/gglobalmente (/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.