comment passer une ligne csv en tableau a deux dimensons ? en AWK ?

comment passer une ligne csv en tableau a deux dimensons ? en AWK ? - Shell/Batch - Programmation

Marsh Posté le 05-03-2008 à 16:49:44    

salut,
 
je vodrais passer une ligne en tableau
 

a;1;$
a;2;$
c;1;$
d;1;$
e;3;$


 
donnerait par exemple

  1 2 3
a $ $
c $
d $
e     $


 
en awk ou autre


Message édité par basketor63 le 05-03-2008 à 16:51:27
Reply

Marsh Posté le 05-03-2008 à 16:49:44   

Reply

Marsh Posté le 05-03-2008 à 16:53:55    

bah fait toi un petit truc en python/perl/ruby et voila.

Reply

Marsh Posté le 05-03-2008 à 17:04:10    

en googlant j'ai trouvé la commande column pour linux, mais elle est pas dans cygwin :/

Reply

Marsh Posté le 06-03-2008 à 09:47:24    

awk -F';' '{tab[$1,$2] = $3}


Note qu'il n'y a pas vraiment de tableaux à deux dimension en awk. Quand on écrit a[b, c] c'est en fait équivalent à a[b SUBSEP c]. Tu as en fait un tableau à une dimension, et l'index dans le tableau est la concaténation de tes index séparés par le contenu de la variable SUBSEP.

Reply

Marsh Posté le 06-03-2008 à 10:16:55    

ça marche pas [:klemton]

Reply

Marsh Posté le 06-03-2008 à 12:28:25    

Bien sûr que si.
 
Edit : ah oui pardon j'ai oublier de fermer le quote. C'est :

awk -F';' '{tab[$1,$2] = $3}'

Message cité 1 fois
Message édité par matafan le 06-03-2008 à 12:30:59
Reply

Marsh Posté le 06-03-2008 à 14:25:31    

matafan a écrit :

Bien sûr que si.
 
Edit : ah oui pardon j'ai oublier de fermer le quote. C'est :

awk -F';' '{tab[$1,$2] = $3}'



 
ouais mais ça affiche rien  :whistle:

Reply

Marsh Posté le 06-03-2008 à 14:42:37    

et tu te mets à bosser quand sinon ?

Reply

Marsh Posté le 06-03-2008 à 14:54:35    

quand j'ai compris que ça metait juste les valeurs dans un tableau

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed