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   -
Bonjour,

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

  1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    Salut,

    Et dubcek devra arriver au fichier final suivant quels critères ? ;-))
    0
  2. GHISLINO Messages postés 214 Date d'inscription   Statut Membre Dernière intervention  
     
    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
    0
  3. GHISLINO Messages postés 214 Date d'inscription   Statut Membre Dernière intervention  
     
    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
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
     
    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
    ...
    ...
    0
  6. GHISLINO Messages postés 214 Date d'inscription   Statut Membre Dernière intervention  
     
    Bonjour Dubcek

    super ca marche Bien merci encore.

    cdlt.
    Bonne et heureuse annee 2015
    0