L'utilisation de nawk dans solaris

Fermé
Seifou43 - Modifié le 25 août 2020 à 14:46
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 26 août 2020 à 13:03
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.


 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

dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
25 août 2020 à 15:59
hello
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
0
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
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
Modifié le 25 août 2020 à 18:33
cherchons des car. spéciaux
cat -vet fichier

essayer
nawk -F '\[|\]' '/^IPDATA.*IPREF.*[[0-9]]/{print "Ref sum of IPREF" " "  $2 }' fichier
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
25 août 2020 à 18:32
Salut 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
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615 > zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021
26 août 2020 à 10:43
damned
copier coller ce qu'affiche 6joint ou télécharger le fichier, ce n'est pas identique
on est peu de chose ...
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407 > dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024
26 août 2020 à 13:03
;-))

Les copier/coller s'adaptent à ton système ;-)
0