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.

demandé sur