Imprimer uniquement en correspondance des lignes de perl à partir de la ligne de commande

Je suis en train d'extraire toutes les adresses ip à partir d'un fichier. Jusqu'à présent, je suis juste en utilisant

cat foo.txt | perl -pe 's/.*?((\d{1,3}\.){3}\d{1,3}).*//'

mais cela permet également d'imprimer les lignes qui ne contiennent pas d'un match. Je peux résoudre ce problème par la tuyauterie à travers grep, mais cela semble comme il devrait être inutile, et pourrait conduire à des erreurs si les regexes ne correspondent pas parfaitement.

Est-il un moyen plus simple pour effectuer cette opération?

voulez-vous imprimer des lignes ou simplement les adresses ip?

OriginalL'auteur jonderry | 2011-02-24