[#!/fr] Tri de fichiers lourds

Page principale
Supprimer ce message
Répondre à ce message
Auteur: Yves Petronin
Date:  
À: script_shell_fr
Sujet: [#!/fr] Tri de fichiers lourds
Je cherche à faire l'opération suivante:

Je dispose de deux fichiers  de style .csv (fichier A et B)    
provenant de  2 colonnes issues d'un tableur Excel  et contenant l'  
un des données issues d'un système, et l'autre des données similaires  
issues d'un autre système.
Il n' y a pas de correspondance exacte entre les références de la  
première colonne "REFERENCE" du premier fichier et les références de  
la  première colonne "REFERENCE" du deuxième fichier. Autrement dit,  
certaines références de la colonne "REFERENCE"  du fichier A sont  
absentes de la première colonne du fichier B et inversement.


Je cherche à mettre à jour les données du fichier A, autrement dit
créer un fichier C en remplaçant dans le fichier A les valeurs de la
deuxième colonne par les valeurs de la colonne "DESCRIPTION" du
fichier B, quand les valeurs de la première colonne du fichier A
existent dans la première colonne du fichier B..... Si elles
n'existent pas, il faut conserver les données du fichier A en l'état.

J'ai essayé avec Applescript, mais les fichiers ayant plusieurs
milliers de références, (et mon script manquant sans doute
cruellement d'efficacité...) le script tourne déjà depuis 2
heures.... sans encore de résultat, je suis donc assez inquiet et et
je me demande si une ligne de commande miracle ne ferait pas le
travail beaucoup mieux..
J' ai déjà l'impression qu'il faudrait changer de séparateur de champ
car les point virgules ne semblent pas faire bon ménage avec les
quelques tentatives que j'ai pu faire........

Si quelqu'un a une solution, merci d'avance....

Pour mieux illustrer

Début du Fichier A

"REFERENCE";"DESCRIPTION"
"348618";"VALEUR 1"
"348618-1";"VALEUR 2"
"348618-4";"VALEUR 3"
"347683";"VALEUR 4"


Début du Fichier B

"REFERENCE";"DESCRIPTION"
"348617";"VALEUR A"
"348618-1";"VALEUR B"
"348618-4";"VALEUR C"
"347683";"VALEUR D"
"347685-4";"VALEUR E"


Début du fichier C désiré

"REFERENCE";"DESCRIPTION"
"348618";"VALEUR 1"
"348618-1";"VALEUR B"
"348618-4";"VALEUR C"
"347683";VALEUR D"






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