Si grep
ne prend pas en charge les expressions régulières perl (-P
), utilisez la commande shell suivante :
grep -w "$(printf '[0-9]%.0s' {1..4})" fichier
où printf '[0-9]%.0s' {1..4}
produira 4 fois [0-9]
. Cette méthode est utile lorsque vous avez de longs chiffres et que vous ne voulez pas répéter le motif (remplacez simplement 4
par le nombre de vos chiffres à rechercher).
En utilisant -w
, il recherchera les mots entiers. Cependant, si vous êtes intéressé par les chaînes alphanumériques, telles que 1234a
, ajoutez [^0-9]
à la fin du motif, par exemple
grep "$(printf '[0-9]%.0s' {1..4})[^0-9]" fichier
L'utilisation de $()
est essentiellement une substitution de commande. Consultez ce post pour voir comment printf
répète le motif.