Re: [#!/fr] Tri de fichiers lourds

Page principale
Supprimer ce message
Répondre à ce message
Auteur: Patrick Proniewski
Date:  
À: La liste francophone des scripts shell
Sujet: Re: [#!/fr] Tri de fichiers lourds
On 16 mars 2010, at 11:06, Patrick Proniewski wrote:

> - L'utilisation dans SQLite d'une table de type :memory: permet d'atteindre des performances supérieures à l'utilisation de simples tables temporaires.




il fallait lire "d'une BASE de type :memory:", et non pas d'une table. Et j'ai oublié de mettre le script modifié final :

-----------------------------------------
#!/bin/bash
# quelques definitions
MY_FILEDB=":memory:"
MY_SQLITE="/usr/bin/sqlite3"

${MY_SQLITE} "${MY_FILEDB}" <<EOF | sed 's,\([^|]*\)\|\([^|]*\),"\1";"\2",' > $3
CREATE TABLE file1(ref varchar(120),desc varchar(120));
CREATE TABLE file2(ref varchar(120),desc varchar(120));
$(sed 's/\([^;]*\);\([^;]*\)/INSERT INTO file1 VALUES(\1,\2);/' $1)
$(sed 's/\([^;]*\);\([^;]*\)/INSERT INTO file2 VALUES(\1,\2);/' $2)
SELECT file1.ref, IFNULL(file2.desc, file1.desc) FROM file1 LEFT JOIN file2 ON file1.ref=file2.ref;
EOF
-----------------------------------------


patpro


_______________________________________________
archives :
http://listes.patpro.net/list/sshfr.fr.html
http://listes.patpro.net/mailman/listinfo/script_shell_fr