Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 31/12/2010, 02h07   #1
Invité de passage
 
Inscription : novembre 2010
Messages : 7
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 7
Points : 2
Points : 2
Par défaut awk - boucle de constantes

Bonjour,

Afin de parser de facon spécifique un fichier1, je voudrai positionner des index dans un tableau à partir d'un fichier2.

le fichier ne contient qu'une seule ligne d'index au format suivant:
i1 i2 i3 i4 i5 i6 ... in

la difficulté est que le nombre de mots varie, il faut donc que mon script soit modulable.

question:
est-il possible de déclarer un ensemble de constantes à l'aide d'une boucle.

je n'ai pas l'impression que ça marche ; en tout cas, je n'ai pas réussi. Si quelqu'un a une solution:

ça devrait donner quelque chose de cette forme là

Code :
awk '{getline x<fic;size=split(x,a," ");for (i=1; i<size; i++) t$i=a[i];}' fic=fichier2 fichier1
le bloc n'est pas encore développé. Mais en attendant je n'arrive pas à récupérer sous forme de chaine t1 , t2 ,t3 à tn les futurs index de mon tableau.
Peut-être qu'il y aurait une autre méthode qu'un getline + split + allocation à des constantes

Quelqu'un aurait une idée ?
clancy256 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/01/2011, 11h37   #2
Expert Confirmé Sénior
 
Avatar de N_BaH
 
Inscription : février 2008
Messages : 2 065
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 2 065
Points : 4 137
Points : 4 137
'comprend pas, mais
Code :
awk -vfic=fichier2 '{getline x<fic;size=split(x,a," ");for (i=1; i<size; i++){ new_a[i] = a[i]; print new_a[i]}}' fichier1
pour peu que fichier1 existe, et soit non-vide, affiche autant de fois qu'il y a de lignes dans fichier1, le contenu du tableau.
N_BaH est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/01/2011, 19h33   #3
Invité de passage
 
Inscription : novembre 2010
Messages : 7
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 7
Points : 2
Points : 2
oui effectivement, je suis parti sur cette solution.
je sais pas pourquoi je m'obstinai à vouloir faire affecter des constantes...
merci
clancy256 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h57.


 
 
 
 
Partenaires

Hébergement Web