Page 1 sur 1

[regexp]Topic d'aide sur les expressions régulières

Publié : dim. 09 déc. 2007, 12:41
par cassyb
salut,
j'aimerais quand je fais un whois récupérer avec grep la ligne(s) de la forme:
xxx.xxx.xxx.xxx - xxx.xxx.xxx.xxx
Avez-vous une idée de l'expression régulière à mettre au grep pour avoir cette ligne?
car déjà rien qu'en voulant récupérer la 1ère partie avec ([0-9]{1,3}\.){3}[0-9]{1,3} ça me renvoie vide à chaque fois. :roll:

merci pour votre aide.

Publié : dim. 09 déc. 2007, 13:15
par vincentxavier

Code : Tout sélectionner

whois bidule.com | sed -e 's/([[:num:]{1,3}\.]{3})\b-\b[[:num:]{1,3}\.]{3}/\1/g
Néanmoins, grep sait, de façon un peu basique ne gader qu'une partie de ligne. J'esseairais :

Code : Tout sélectionner

whois bidule.com | grep -E -o -e '^.*[\s]'
mais il garde le dernier tiret ![/code]

Publié : dim. 09 déc. 2007, 13:42
par cassyb
arff j'avais fais la quiche en oubliant l'option -E
whois ip | grep -E -o "([0-9]{1,3}\.){3}[0-9]{1,3} - ([0-9]{1,3}\.){3}[0-9]{1,3}"

marche nikel

Publié : dim. 09 déc. 2007, 13:45
par tuxce

Code : Tout sélectionner

commande | grep -o '\(\([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}\( - \)\{0,1\}\)\{2\}'