Quelle expression régulière puis-je utiliser pour faire correspondre une adresse IP ?
Avec la syntaxe grep
suivante, je veux faire correspondre toutes les adresses IP d'un fichier (à partir d'un script ksh
)
grep '[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}' file
Le problème: Il correspond également aux mots (IP) qui ont plus de 4 octets:
1.1.1.1.1
Ou
192.1.1.1.160
Comment puis-je faire correspondre une adresse IP valide et uniquement des adresses IP avec 4 octets ? Je peux également utiliser une solution de syntaxe Perl–a à une ligne, si grep
ne fonctionne pas.