L'utilisation de nawk dans solaris
Bonjour,
j'ai un petit problème pour l'extraction d'une valeur numérique depuis un fichier text :
le lien du fichier est : https://www.cjoint.com/c/JHzlT7jSGdb
j'ai commencer par le code ci-dessous , il marche bien mais il affichent toutes les lignes mais je cherche seulement les valeurs qui sont entre crochets.
il m'affichent toutes les lignes :
je cherche a voir seulement 3 :
Ref sum of IPREF 2
Ref sum of IPREF 2
Ref sum of IPREF 1
comment faire une correction sur le code ?
merci
j'ai un petit problème pour l'extraction d'une valeur numérique depuis un fichier text :
le lien du fichier est : https://www.cjoint.com/c/JHzlT7jSGdb
j'ai commencer par le code ci-dessous , il marche bien mais il affichent toutes les lignes mais je cherche seulement les valeurs qui sont entre crochets.
nawk '/^IPDATA.*IPREF.*[[0-9]/match ( $0,/\[[^]]*/ ) {print "Ref sum of IPREF" substr ( $0,RSTART+1,RLENGTH-2 ) }' file
il m'affichent toutes les lignes :
Ref sum of IPREF Ref sum of IPREF 2 Ref sum of IPREF Ref sum of IPREF Ref sum of IPREF Ref sum of IPREF Ref sum of IPREF 2 Ref sum of IPREF Ref sum of IPREF Ref sum of IPREF Ref sum of IPREF Ref sum of IPREF 1 Ref sum of IPREF
je cherche a voir seulement 3 :
Ref sum of IPREF 2
Ref sum of IPREF 2
Ref sum of IPREF 1
comment faire une correction sur le code ?
merci
3 réponses
-
Contributeurhello
en utilisant le séparateur de champ plutot que substr$ nawk -F '[][]' '/^IPDATA.*IPREF.*[[0-9]]/ {print "Ref sum of IPREF", $2}' file
Ref sum of IPREF 2
Ref sum of IPREF 2
Ref sum of IPREF 1 -
merci beaucoup pour votre réponse :
le prblème persiste : la valeur recherché ne s'affiche plus
> nawk -F '[][]' '/^IPDATA.*IPREF.*[[0-9]]/{print "Ref sum of IPREF" " " $2 }' fichier
Ref sum of IPREF
Ref sum of IPREF
Ref sum of IPREF
merci -
Contributeurcherchons des car. spéciaux
cat -vet fichier
essayernawk -F '\[|\]' '/^IPDATA.*IPREF.*[[0-9]]/{print "Ref sum of IPREF" " " $2 }' fichier-
ContributeurSalut dubcek,
Bingo ;-\
$ cat -vet JHzlT7jSGdb_test.txt
IPDATA=A IPID A ^M$
IPDATA=A IPREF [2] = ^M$
--- IPREF = VRID=A_1 ^M$
--- IPREF = VRID=A_2 ^M$
^M$
IPDATA=B IPID B ^M$
IPDATA=B IPREF [2] = ^M$
--- IPREF = VRID=B_1 ^M$
--- IPREF = VRID=B_2 ^M$
^M$
IPDATA=C IPID C ^M$
IPDATA=C IPREF [1] = ^M$
--- IPREF = VRID=C_1 -
Contributeur@zipe31damned
copier coller ce qu'affiche 6joint ou télécharger le fichier, ce n'est pas identique
on est peu de chose ... -
Contributeur
-