Traitement de fichier avec Awk avec l'option case

Résolu/Fermé
GHISLINO Messages postés 214 Date d'inscription lundi 25 juillet 2011 Statut Membre Dernière intervention 8 décembre 2023 - 2 nov. 2014 à 08:00
GHISLINO Messages postés 214 Date d'inscription lundi 25 juillet 2011 Statut Membre Dernière intervention 8 décembre 2023 - 2 nov. 2014 à 14:38
Bonjour,



Je voudrais traiter les deux fichiers ci-dessous File1 et File2 pour obtenir le File3 awk mais avec l'option case.

C'est a dire je veux faire une recherche avec le champ 2 du File2 pour la première option

et le champ 6 pour l'Option 2


File1
E; applicationID "A1353RA_85e6a5aa" cellRef 33017; 611-63061;BIANKOUMA_GARE-1
E; applicationID "A1353RA_85e6a5aa" cellRef 33010; 406-16273;YOUNDOUO-3
E; applicationID "A1353RA_85e6a5aa" cellRef 33003; 311-16302;KAKOLO-2

File2
BSCMAN2;BIANKOUMA_GARE-1;MIN_PDCH;1;2;611-63061
BSCABG4;YOUNDOUO-3;MIN_PDCH;1;2;406-16273
BSCKGO1;KAKOLO-2;MIN_PDCH;1;2;311-16302


résultat

File3
E; applicationID "A1353RA_85e6a5aa" cellRef 33017; 611-63061;BIANKOUMA_GARE-1;BSCMAN2;BIANKOUMA_GARE-1;MIN_PDCH;1;2;611-63061
E; applicationID "A1353RA_85e6a5aa" cellRef 33010; 406-16273;YOUNDOUO-3;BSCABG4;YOUNDOUO-3;MIN_PDCH;1;2;406-16273
E; applicationID "A1353RA_85e6a5aa" cellRef 33003; 311-16302;KAKOLO-2;BSCKGO1;KAKOLO-2;MIN_PDCH;1;2;311-16302


Merci d'avance

cdlt.





A voir également:

4 réponses

dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
2 nov. 2014 à 13:22
hello
que signifie avec l'option case ?
$ awk -F ";" 'FNR==NR {t[$2]=$0; next} {print $0 FS t[$4]}'  fichier2 fichier1
E; applicationID "A1353RA_85e6a5aa" cellRef 33017; 611-63061;BIANKOUMA_GARE-1;BSCMAN2;BIANKOUMA_GARE-1;MIN_PDCH;1;2;611-63061
E; applicationID "A1353RA_85e6a5aa" cellRef 33010; 406-16273;YOUNDOUO-3;BSCABG4;YOUNDOUO-3;MIN_PDCH;1;2;406-16273
E; applicationID "A1353RA_85e6a5aa" cellRef 33003; 311-16302;KAKOLO-2;BSCKGO1;KAKOLO-2;MIN_PDCH;1;2;311-16302
0
GHISLINO Messages postés 214 Date d'inscription lundi 25 juillet 2011 Statut Membre Dernière intervention 8 décembre 2023
2 nov. 2014 à 14:04
Bonjour Dubcek

en fait je voudrais faire deux type de recherche :

le premier cas :
utiliser le champ 2 du File2 pour rechercher l'occurrence dans le File1 pour obtenir le File3.

le deuxième cas :

Utiliser le champ 6 du File2 pour rechercher l'occurrence dans le File1 pour obtenir le File3.

je constate que ton code marche bien avec comme critère de recherche le champ2 du File2 dans le File1 ce qui correspond a mon 1er cas.

il reste de deuxième cas .

Merci d'avance

cdlt
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
2 nov. 2014 à 14:28
2ème cas
awk -F ";" 'FNR==NR {t[$6]=$0; next} {x=$3; gsub(" ", "", x); print $0 FS t[x]}' fichier2 fichier1
0
GHISLINO Messages postés 214 Date d'inscription lundi 25 juillet 2011 Statut Membre Dernière intervention 8 décembre 2023
2 nov. 2014 à 14:38
Merci beaucoup Dubcek

c est parfait.

Bon Dimanche.
0