[CH GOUROU en BASH] Traitement fichiers texte
8 messages
• Page 1 sur 1
- yonni
- WRInaute discret

- Messages: 137
- Inscription: 4 Fév 2005
[CH GOUROU en BASH] Traitement fichiers texte
Salut
Je m'arrache les cheveux depuis des jours sur un problème. Le voici exposé :
Je dispose de 2 texte fichiers triés (de plusieurs méga-octets chacun) :
- le premier (fichier1) est formé comme suit :
A---A
A-ACONSTRUCTION
AABATEAUX
BARTIO
BOULE
BOWLINGCOOL
CDRTPO
- le deuxième (fichier2) est en fait une liste de mots communs, formé comme suit :
ALBATROS
AN
BATEAUX
BOULE
BOWLING
CONSTRUCTION
COOPP
COPIE
Ce que je veux faire :
Récupérer toutes les lignes du fichier1 dont au moins une occurrence est présente dans le fichier2. Dans mon exemple, on aurait donc ceci en sortie (fichier3) :
A-ACONSTRUCTION
AABATEAUX
BOULE
BOWLINGCOOL
Ce traitement doit se faire en bash sous unix.
J'ai déjà tenté de boucler sur chacun des mots du fichier2 et de vérifier grâce à un grep si le mot est présent dans le fichier1, toutefois au vu de la taille des fichiers, une telle solution n'est pas satisfaisante, le traitement est extrêmement long. J'ai besoin de faire çà beaucoup plus rapidement.
J'ai songé à utiliser des outils puissants comme join,diff ou comm mais rien de bon n'est sorti de mon cerveau ...
J'ai pensé faire une jointure mot à mot et récupérer le résultat mais je ne parviens pas à mettre çà en oeuvre ...
Merci pour l'aide que vous pourrez m'apporter !
Je m'arrache les cheveux depuis des jours sur un problème. Le voici exposé :
Je dispose de 2 texte fichiers triés (de plusieurs méga-octets chacun) :
- le premier (fichier1) est formé comme suit :
A---A
A-ACONSTRUCTION
AABATEAUX
BARTIO
BOULE
BOWLINGCOOL
CDRTPO
- le deuxième (fichier2) est en fait une liste de mots communs, formé comme suit :
ALBATROS
AN
BATEAUX
BOULE
BOWLING
CONSTRUCTION
COOPP
COPIE
Ce que je veux faire :
Récupérer toutes les lignes du fichier1 dont au moins une occurrence est présente dans le fichier2. Dans mon exemple, on aurait donc ceci en sortie (fichier3) :
A-ACONSTRUCTION
AABATEAUX
BOULE
BOWLINGCOOL
Ce traitement doit se faire en bash sous unix.
J'ai déjà tenté de boucler sur chacun des mots du fichier2 et de vérifier grâce à un grep si le mot est présent dans le fichier1, toutefois au vu de la taille des fichiers, une telle solution n'est pas satisfaisante, le traitement est extrêmement long. J'ai besoin de faire çà beaucoup plus rapidement.
J'ai songé à utiliser des outils puissants comme join,diff ou comm mais rien de bon n'est sorti de mon cerveau ...
J'ai pensé faire une jointure mot à mot et récupérer le résultat mais je ne parviens pas à mettre çà en oeuvre ...
Merci pour l'aide que vous pourrez m'apporter !
Dernière édition par yonni le Jeu Nov 27, 2008 12:23, édité 1 fois.
-

Topsitemaker - WRInaute impliqué

- Messages: 584
- Inscription: 19 Nov 2006
Bonjour,
Tu mets tes 2 fichiers dans 2 tables distincts dans une base de données après tu fais un select avec un left join.
Bonne chance
Tu mets tes 2 fichiers dans 2 tables distincts dans une base de données après tu fais un select avec un left join.
Bonne chance
-

Ron56 - WRInaute impliqué

- Messages: 708
- Inscription: 20 Nov 2005
j'ai fait un ptit truc vite fait
Avec fichier 1 :
Fichier 2 :
Le résultat du script :
Ronan
- Code: Tout sélectionner
for line in $(cat fichier2)
do cat fichier1 | grep "$line"
done
Avec fichier 1 :
A---A
A-ACONSTRUCTION
AABATEAUX
BARTIO
BOULE
BOWLINGCOOL
CDRTPO
Fichier 2 :
ALBATROS
AN
BATEAUX
BOULE
BOWLING
CONSTRUCTION
COOPP
COPIE
Le résultat du script :
ron@ron-desktop:~/Desktop$ sh script
AABATEAUX
BOULE
BOWLINGCOOL
A-ACONSTRUCTION
Ronan
8 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- Le blog officiel pour les développeurs Google Apps - 15-02-2010
- Yahoo Audio Search - 05-08-2005
- Contraintes d'emplacement du Sitemap - 27-06-2005
- Chercher des fichiers KML dans Google Earth - 15-02-2007
- Transfert de fichiers dans Google Talk - 29-07-2006
- Où placer son fichier Sitemap ? A la racine ? - 27-06-2005
- Google s'empare de Writely, un traitement de texte en ligne - 09-03-2006
- The Technology Behind Google - 28-06-2002
Consultez la description détaillée des produits ou services de Google suivants : Google Sites, Google Docs
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité
