Traitement avec Awk
Résolu
GHISLINO
Messages postés
214
Date d'inscription
Statut
Membre
Dernière intervention
-
GHISLINO Messages postés 214 Date d'inscription Statut Membre Dernière intervention -
GHISLINO Messages postés 214 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai un fichier file1 ci-dessous et je voudrais obtenir le FILEX ci-dessous avec AWK
file1
FILEX
Merci d'avance
j'ai un fichier file1 ci-dessous et je voudrais obtenir le FILEX ci-dessous avec AWK
file1
7017;1;15;7017;11;34412;Bberi-Abattoir-HR_7
7017;2;17;7017;11;34412;Bberi-Abattoir-HR_7
7017;3;16;7017;11;34412;Bberi-Abattoir-HR_7
7017;4;14;7017;11;34412;Bberi-Abattoir-HR_7
8563;1;19;8563;17;21108;Abattoir-HR_7
8563;2;21;8563;17;21108;Abattoir-HR_7
8563;3;18;8563;17;21108;Abattoir-HR_7
8563;4;17;8563;17;21108;Abattoir-HR_7
8563;5;20;8563;17;21108;Abattoir-HR_7
FILEX
17;21108;Abattoir-HR_7;5
11;34412;Bberi-Abattoir-HR_7;4
Merci d'avance
6 réponses
-
Salut,
Et dubcek devra arriver au fichier final suivant quels critères ? ;-))
-
salut
le fichier final donne le nombre de ligne contenant exactement le dernier champ du fichier file1
"Abattoir-HR_7" et "Bberi-Abattoir-HR_7"
NB : le fichier original comprend plus de 10 mille lignes.
merci d'avance.
cdlt -
hello
$ awk 'BEGIN {FS=OFS=";"} {t1[$7]++; t2[$7]=$5 OFS $6} END {for (n in t1)print t2[n], n, t1[n]}' fichier
17;21108;Abattoir-HR_7;5
11;34412;Bberi-Abattoir-HR_7;4
c'est résolu, là ?
https://forums.commentcamarche.net/forum/affich-31214843-extraire-des-lignes-dans-un-fichier -
bonjour Dubcek
Merci ce code marche parfaitement ( resolu)
"c'est résolu, là ?
https://forums.commentcamarche.net/forum/affich-31214843-extraire-des-lignes-dans-un-fichier"
Merci celui la aussi marche avec quelque regalge a faire. je valide en Resolu
cependant je galere sur une autre action
j ai le file1 ci dessous
File1
34,31,Bfsam-Bamendzi-II-HR_6
34,31,Bfsam-Bamendzi-II-HR_1
34,31,Bfsam-Bamendzi-II-HR_3
34,31,Bfsam-Bamendzi-II-HR_7
34,31,Bfsam-Bamendzi-II-HR_8
34,31,Bfsam-Bamendzi-II-HR_2
66,31,Meiganga-HR_1
66,31,Meiganga-HR_2
66,31,Meiganga-HR_3
39,31,Dabanga-HR_2
39,31,Dabanga-HR_1
39,31,Dabanga-HR_3
52,31,Ma-HR_3
52,31,Ma-HR_1
52,31,Ma-HR_2
File2
34,31,Bfsam-Bamendzi-II-GD,1368
66,31,Meiganga-AG_ADM_004,2136
39,31,Dabanga-OS,1601
52,31,Ma-AG_NRO_021,2517
je veux obtenir le file3 en prenant comme critere le champ1 et champ2
pour avoir le resultat ci-dessous
file3
34,31,Bfsam-Bamendzi-II-HR_6,Bfsam-Bamendzi-II-GD,1368
34,31,Bfsam-Bamendzi-II-HR_1,Bfsam-Bamendzi-II-GD,1368
34,31,Bfsam-Bamendzi-II-HR_3,Bfsam-Bamendzi-II-GD,1368
34,31,Bfsam-Bamendzi-II-HR_7,Bfsam-Bamendzi-II-GD,1368
34,31,Bfsam-Bamendzi-II-HR_8,Bfsam-Bamendzi-II-GD,1368
34,31,Bfsam-Bamendzi-II-HR_2,Bfsam-Bamendzi-II-GD,1368
66,31,Meiganga-HR_1,Meiganga-AG_ADM_004,2136
66,31,Meiganga-HR_2,Meiganga-AG_ADM_004,2136
66,31,Meiganga-HR_3,Meiganga-AG_ADM_004,2136
39,31,Dabanga-HR_2,Dabanga-OS,1601
39,31,Dabanga-HR_1,Dabanga-OS,1601
39,31,Dabanga-HR_3,Dabanga-OS,1601
52,31,Ma-HR_3,Ma-AG_NRO_021,2517
52,31,Ma-HR_1,Ma-AG_NRO_021,2517
52,31,Ma-HR_2,Ma-AG_NRO_021,2517
j ai essaie le code cidessous mais je galere :
awk -F, '{t[$1, $2]=t[$1, $2] $3 FS} END{for (n in t){sub(FS "$", "", t[n]); print t[n]}}' new_8.txt BTS.txt
Meiganga-HR_1,Meiganga-HR_2,Meiganga-HR_3,Meiganga-AG_ADM_004
Bfsam-Bamendzi-II-HR_6,Bfsam-Bamendzi-II-HR_1,Bfsam-Bamendzi-II-HR_3,Bfsam-Bamendzi-II-HR_7,Bfsam-Bamendzi-II-HR_8,Bfsam-Bamendzi-II-HR_2,Bfsam-Bamendzi-II-GD
Ma-HR_3,Ma-HR_1,Ma-HR_2,Ma-AG_NRO_021
Dabanga-HR_2,Dabanga-HR_1,Dabanga-HR_3,Dabanga-OS
Merci encore de ton aide sur ce coup.
cdlt -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
essayer
$ awk 'BEGIN {FS=OFS=","} FNR==NR {t1[$1, $2]=$3 FS $4; next} {print $1, $2, $3, t1[$1, $2]}' fichier2 fichier1
34,31,Bfsam-Bamendzi-II-HR_6,Bfsam-Bamendzi-II-GD,1368
34,31,Bfsam-Bamendzi-II-HR_1,Bfsam-Bamendzi-II-GD,1368
34,31,Bfsam-Bamendzi-II-HR_3,Bfsam-Bamendzi-II-GD,1368
...
... -
Bonjour Dubcek
super ca marche Bien merci encore.
cdlt.
Bonne et heureuse annee 2015