|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : septembre 2006 Messages : 15 ![]() |
Bonjour,
je souhaite récuperer le champs $2 sous certaines conditions : Code :
|
||
|
|
00
|
|
|
#2 | ||
|
Invité de passage
![]() Inscription : septembre 2006 Messages : 15 ![]() |
bonjour,
j'ai testé les deux techniques (voir dans le commentaire du code shell #mais ça ne marche pas) pouvez-vous me dire comment je pourrais comparer la valeur d'une variable avec le premier champs d'un fichier , en cas d'égalité je récupere le deuxieme champs du fichier.? merci Code :
|
||
|
|
00
|
|
|
#3 |
|
Membre Expert
![]() Inscription : avril 2006 Messages : 922 ![]() |
Bonjour,
Utilises les balises CODE pour rendre la lecture de ton code plus facile. Je n'ai pas la possibilité de tester, mais il me semble que tes simples cotes '...' empêchent l'interprétation de la variable $nom par le shell.
__________________
[alkama] quelqu'un est allé voir la guerre des mondes? [@Chrisman] j'espère pour spielberg --- bashfr.org |
|
|
00
|
|
|
#4 | ||
![]() Inscription : mars 2004 Messages : 1 298 ![]() |
zooro a raison les cotes "bloque" l'interpretation de tes variables shell ....
il te faut utiliser la passation d'argument avec awk : Code :
|
||
|
|
00
|
|
|
#5 | ||
|
Invité de passage
![]() Inscription : septembre 2006 Messages : 15 ![]() |
j'ai modifié la partie correspondantes :
Code :
The input line number is 1. The file is verif1.txt. The source line number is 1. awk: A statement occurred that is not valid |
||
|
|
00
|
|
|
#6 | |
|
Membre Expert
![]() Inscription : avril 2006 Messages : 922 ![]() |
Citation:
Et en plus, imagine que $nom="bla bla) bla". Après interprétation du shell, tu pourrais avoir un code awk du genre: Code :
{FS=";"}{if ($1 ==bla bla) bla) {print $2} fi}
__________________
[alkama] quelqu'un est allé voir la guerre des mondes? [@Chrisman] j'espère pour spielberg --- bashfr.org |
|
|
|
00
|
|
|
#7 | |
|
Invité de passage
![]() Inscription : septembre 2006 Messages : 15 ![]() |
ça ne marche toujours pas :
Code :
awk '{FS=";"}{if($1 =='$nom') {print $2} fi}' verif1.txt > resultat_final.log Citation:
merci par avance |
|
|
|
00
|
|
|
#8 | |
|
Membre Expert
![]() Inscription : avril 2006 Messages : 922 ![]() |
Citation:
Code :
awk '{FS=";"}{if($1 =="'$nom'") {print $2} fi}' verif1.txt > resultat_final.log
__________________
[alkama] quelqu'un est allé voir la guerre des mondes? [@Chrisman] j'espère pour spielberg --- bashfr.org |
|
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : septembre 2006 Messages : 15 ![]() |
Merci zooro, mais ça ne marche toujours pas .
The source line number is 1. awk: A statement occurred that is not valid. The input line number is 1. The file is verif1.txt. The source line number is 1. awk: A statement occurred that is not valid. merci a toute suggestion pour la résolution |
|
|
00
|
|
|
#10 |
|
Membre Expert
![]() Inscription : avril 2006 Messages : 922 ![]() |
Code :
awk '{FS=";"}{if($1 =='$nom') {print $2} fi}' verif1.txt > resultat_final.log
Essaye comme ça: Code :
awk -F';' '$1 == "'$nom'" { print $2 }' verif1.txt > resultat_final.log
__________________
[alkama] quelqu'un est allé voir la guerre des mondes? [@Chrisman] j'espère pour spielberg --- bashfr.org |
|
|
00
|
|
|
#11 |
|
Invité de passage
![]() Inscription : septembre 2006 Messages : 15 ![]() |
ça marche pour le premier enregistrement, ensuite il s'arrete.
en avance, mais il manque un petit bout de code, pour récuperer tous les enregistrement sachant que j'ai déja deux boucles for. Merci à tous |
|
|
00
|
|
|
#12 | ||
|
Membre Expert
![]() Inscription : avril 2006 Messages : 922 ![]() |
Justement, en parlant des boucles, je relis ton code initial, et j'ai un peu de mal à suivre.
Juste pour être sûr que j'ai bien compris ce que tu veux faire : Code :
__________________
[alkama] quelqu'un est allé voir la guerre des mondes? [@Chrisman] j'espère pour spielberg --- bashfr.org |
||
|
|
00
|
|
|
#13 |
|
Invité de passage
![]() Inscription : septembre 2006 Messages : 15 ![]() |
exa
|
|
|
00
|
|
|
#14 |
|
Invité de passage
![]() Inscription : septembre 2006 Messages : 15 ![]() |
salut zooro
exactement, tu as tous compris. je te confirme trois boucles for. merci |
|
|
00
|
|
|
#15 | ||
|
Membre Expert
![]() Inscription : avril 2006 Messages : 922 ![]() |
Je ne comprends pas à quoi sert cette partie du code :
Code :
__________________
[alkama] quelqu'un est allé voir la guerre des mondes? [@Chrisman] j'espère pour spielberg --- bashfr.org |
||
|
|
00
|
|
|
#16 |
|
Invité de passage
![]() Inscription : septembre 2006 Messages : 15 ![]() |
bonjour,
le awk qui suit récupere le deuxieme champs du fichier verif1 a condition que le premier champs du fichier verif1=premier champs du fichier verif2. Question que je me pose y'a t-il un moyen de récupérér dans la boucle for une variable qui est composé de deux champs d'une ligne ensuite extraire de cette variable un champs de cette ligne. Merci |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com