Regex

Résolu
Munduss Messages postés 40 Date d'inscription   Statut Membre Dernière intervention   -  
Munduss Messages postés 40 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je souhaiterais faire un regex sur un grep pour repérer "Addinfo: *, *, 5 " (Le premier * correspond à un nombre de plusieurs chiffres, le second * est un chiffre.)

Naïvement je tente un $grep -E 'Addinfo: *, *, 5 ' et ça ne fonctionne pas... :'(

(Tout ça pour un script pour ceux qui se demanderaient: "Mais pourquoi diable poste t'il ça dans le forum programmation le bougre?...")

4 réponses

jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Essaies ça :

egrep -o 'Addinfo: [[:digit:]]{1,}, [[:digit:]]{1}, [[:digit:]]{1}'
1
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Salut,

Comment se présente exactement ce que tu veux récupérer ?
Il nous faut un exemple précis et concret dans le contexte..
0
Munduss Messages postés 40 Date d'inscription   Statut Membre Dernière intervention   2
 
Je veux sortir toutes les traps snmp d'un log qui se composent de la manière suivante:

plein d'information, Addinfo: 475, 2, 5 no (null).

- Il y a forcément des données avant le Addinfo
- Ensuite il y a ", Addinfo: "
- Le nombre 475 est un champ variable, je suis même pas sur que ça soit un nombre à 3 chiffres systématiquement.
- Le chiffre 2 est un champ variable de 1 chiffre systématiquement.
- je ne sais pas si no (null) est systématique
0
Munduss Messages postés 40 Date d'inscription   Statut Membre Dernière intervention   2
 
Je vais essayé mais j'ai réussi finalement, tu peux me dire si j'ai bon?

grep -E 'Addinfo: [0123456789]*', [0123456789], 5 '

Edit: tu peux m'expliquer ton regex plz! :)

Merci!
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
[[:digit:]]{1,}
Un chiffre ou plus

[[:digit:]]{1}
Un chiffre

[[:digit:]]{1,4}
De un à quatre chiffre(s)

Pour info :

[0-9]*
Un chiffre ou plusieurs (ou aucun) dans l'intervalle 0 à 9

[0-9][0-9]*
Un chiffre ou plusieurs dans l'intervalle 0 à 9
0
Munduss Messages postés 40 Date d'inscription   Statut Membre Dernière intervention   2
 
Ok merci! :)
0