Comment donner un nbre de caractères a awk ?

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

Comment faire pour demander à awk de mettre 1 à ma variable si j'ai un ou 3 chiffres commençant par 2 ?

Actuellement :
toto="2211"
titi="$(echo ${toto}|awk '{TEST=$1;TUTU=1} TEST~/2{1,3}/ {print TUTU} ')"
echo ${titi}


ne print rien :s.

Comment faire pour que awk comprenne le {} ?


A voir également:

2 réponses

zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 431
 
Salut,

man awk :

       r{n}
       r{n,}
       r{n,m}     Un ou deux nombres à l'intérieur d'accolades dénote une expression d'intervalle.  S'il y en a un, l'expression rationnelle précédente r  est  répétée  n fois.  S'il y a deux nombres séparés par une virgule, r est répété entre n à m fois. S'il y a un nombre suivi d'une virgule, alors r est répété au moins n fois.
                  Les expressions d'intervalle sont uniquement disponibles si --posix ou --re-interval a été spécifié sur la ligne de commandes.

titi="$(echo ${toto}|awk --posix '{TEST=$1;TUTU=1} TEST ~ /2{1,3}/ { print TUTU } ')"

;-))
2
fxtaa Messages postés 1050 Date d'inscription   Statut Membre Dernière intervention   74
 
Merci ;)
0