Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Autres systèmes > Unix

Unix Forum d'entraide sur les systèmes Unix et dérivés (*BSD, AIX, etc.). Avant de poster ->F.A.Q BSD F.A.Q. Aix

Réponse
 
Outils de la discussion
Vieux 02/10/2008, 15h51   #1 (permalink)
Membre à l'essai
 
Date d'inscription: juillet 2008
Messages: 45
Par défaut Comparaison et modification de deux fichiers volumineux

J'ai deux fichiers très volumineux (1 000 000 de lignes)

le fichier "A" est composé de lignes de 4 champs séparés par un ;

Extrait du fichier "A":
101429;137;01;0034;
101457;137;01;0036;
101587;137;01;0041;
101470;137;01;0043;
100342;137;01;0052;
96808;137;01;0056;

le fichier "B" est composé de lignes de 17 champs séparés par un ;

Extrait du fichier "B":
PA203961;APA203961;0;;;137;;;;01;0034;000099;G00257;16101995;03705;;
PA203962;APA203962;0;;;118;;;;01;0081;0000035;+00010;01011970;;;
PA203963;APA203963;0;;;118;;;;01;0083;0000500;G00257;16101995;03705;0029;
PA203964;APA203964;0;;;118;;;;01;0089;000000175;W00159;26061998;03881;0038;
PA203965;APA203965;0;;;118;;;;01;0096;000000104;F00271;23032007;;0039;
PA203966;APA203966;0;;;118;;;;01;0097;000000088;B00297;01011989;01651;0041;
PA203967;APA203967;2;;;118;;PAR203967;;01;0099;000000235;*00153;12122000;;0045;


Je souhaiterai rajouter à la fin des lignes du fichier "B" le premier champ du fichier A lorsque:
- le deuxième champ du fichier A est égal au sixième champ du fichier B
- et que le troisième champ du fichier A est égal au dixième champ du fichier B
- et que le quatrième champ du fichier A est égal au onzième champ du fichier B

(Voir champs en gras dans les premières lignes)

Comment le faire le plus rapidement possible?
Avec deux boucles while read c'est beaucoup trop long.
J'ai pensé à awk mais on ne peut pas mettre une boucle awk dans une autre.

Je suis bloqué...

Merci pour votre aide!
roman67 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 03/10/2008, 16h07   #2 (permalink)
Invité régulier
 
Date d'inscription: décembre 2006
Messages: 17
Par défaut Perl

Bonjour,

Je ne suis pas un crac en prog mais j'ai déjà écrit des petits programmes Perl qui traiter des fichiers d'environ 3go et c'était assez rapide.


Peut-être peux-tu creuser de ce côté là ....
jip06 est déconnecté   Envoyer un message privé Réponse avec citation
Réponse

Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Autres systèmes > Unix



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide


Fuseau horaire GMT +1. Il est actuellement 22h07.


Publiez vos articles, tutoriels et cours et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones. Nous contacter
Copyright 2000-2008 www.developpez.com - Legal informations