traitement ligne par ligne (trop hard pour moi) - Shell/Batch - Programmation
Marsh Posté le 30-09-2009 à 10:38:39
et il est où ton script ?
Marsh Posté le 30-09-2009 à 10:46:44
nul par je ne sais pas faire cela ... j'imagine que les suggestions tourneront autour de awk et print ... mais c'est tout :-(
Marsh Posté le 30-09-2009 à 10:57:26
avec un awk:
Code :
|
bon la ca balance pas dans un fichier mais le gros du boulot est fait.
Marsh Posté le 30-09-2009 à 11:22:17
Pataluc ! encore merci.
J'ai fini de me dépatouiller ainsi :
c'est pas très propre ce que je fais mais cela fonctionne ...
Citation : awk '{t[$2] = t[$2]"-t"$1" ";} END {for (i in t) { print i": "t[i]}}' TEST | awk '{print$1}' | sed -e 's/://' > customer.list |
Marsh Posté le 30-09-2009 à 11:37:50
tabasko a écrit : |
c'est le moins qu'on puisse dire! ^^
passe plutôt par la fonction awk system() qui permet de lancer des commandes système:
Code :
|
parce que refaire un awk dans un for, algorithmiquement parlant c'est infame (sur un petit fichier ca se verra pas, mais sur un truc un poil conséquent )
Marsh Posté le 30-09-2009 à 13:22:40
il faudra que je regarde car je ne connaissais pas system ()
du coup ta commande est nickel mais je la pige pas
Marsh Posté le 30-09-2009 à 13:47:39
system() envoie une commande au shell, comme si tu la tapais toi même. sauf qu'on y mets les variables du script awk (ici, t[i] et i) et roule Raoul. (cf man awk)
Marsh Posté le 30-09-2009 à 10:33:35
Bonjour !
J'ai un fichier qui a la structure suivante :
123 toto
456 toto
789 tutu
135 tutu
345 tata
723 tata
je souhaite que mon script puisse créer :
un fichier toto.txt dont le contenu sera :
-t123 -t456
un fichier tutu.txt dont le contenu sera :
-t789 -t135
enfin un fichier tata.txt
-t345 -t723
Merci !