Sed: Substitua QUALQUER endereço IP por 127.0.0.1 [duplicado]

0

Estou tentando fazer uma substituição no local de um endereço IP em um arquivo usando sed. Eu sei disso . é um curinga, então tentei fazer o seguinte:

sed -i -e 's/.\..\..\..\./127.0.0.1/g' /.../myfile.txt

No entanto, não tenho certeza de quantos dígitos cada seção do endereço IP pode ter (1-3), e também não tenho certeza se a minha fuga funciona também. Algum conselho? Muito apreciado

    
por Adam Karpowich 26.01.2017 / 18:12

1 resposta

2

[0-9] corresponde a qualquer dígito.

[0-9]\{1,3\} corresponde entre 1 e 3 dígitos (observe que isso aceitará zeros iniciais.

Portanto,

sed -i -e 's/[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}/127.0.0.1/g' /.../myfile.txt

deve fazer mais ou menos o que você quer. Ele irá combinar alguns endereços inválidos, mas provavelmente fará o trabalho. Para uma opção mais avançada, veja o link de @steeldriver nos comentários

    
por 26.01.2017 / 18:21