Bonjour,
je commence à bien appréhender awk , et c'est géant . aussi pratique que les commandes shell pour manipuler les chaînes de caractères , mais largement plus rapide quand il s'agit de manipuler plusieurs milliers de lignes , sans parler des fonctions qui existent déjà .Exemple de bidouille : habituellement sur un fichier de 10000 à 20000 lignes je réalisais un tri par rapport à une colonne sous openoffice avant d'utiliser le fichier . Voilà qui m'arrive dans les pattes un fichier de plus de 100 000 lignes à utiliser pour alimenter d'autres fichiers , impossible d'utiliser openoffice pour trier car limité à environ 65000 (sans parler des problèmes vu que le fichier est issu d'une mdb access d'un logiciel avec un formatage qui dépasse mon entendement bref ) ....faut que je me paluche à la main une fonction de tri , panique à bord car je ne suis pas informaticien !
je cherche sur le net : premier truc sur lequel je tombe (wikipédia ) , le tri à bulle . je bidouille quelques lignes , fait des tests sur des petits fichiers , c'est long très long , m'enfin faut ce qu'il faut , je lance le script sur le fichier de plus de 100 000 lignes , environ 1 heures qu 'il calcul , et il en est tout juste à 20 % .
Je me dis pas possible de continuer comme ça , si je me plante c'est reparti pour des heures .
je fouille un peu plus sur wikipedia , je tombe sur le tri à fusion , parait il plus rapide que le tri à bulle . Je regarde ...oula mal de tête je ne sais pas comment programmer .
et là une idée de génie me vient ... je vais sur le site donner par Nbah et je tape dans cherche de firefox "sort" et je tombe sur ça : [
www.gnu.org] la fonction asort que j'utilise de cette manière dans test6.sh
awk ' BEGIN { FS=";" }
{ ligne [ NR ] = $0
ref [ NR ] = $3
}
END{
fin=NR
print fin
for(i=2;i<=fin;i++){ ref2
=ref
tableau[ref]=ligne }
asort(ref2,ref3)
for(i=1;i<=fin-1;i++){ ligne[i+1]=tableau[ref3] }
for(i=1;i<=NR;i++){ printf(ligne"\n") >> "parts2.txt" }
print "fini"
} ' parts.txt
le lance test6.sh , j'ai eu à peine le temps de dire ouf et c'était fini
awk c'est magique 
Poste le Wednesday 11 March 2009 16:26:49