Amis du AWK !!!!!!

Résolu
bill_bones Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   -  
dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

fichier 1:

A;1
B;2
C;3
D;4
E;5

fichier 2:
D;alpha
C;beta
A;gamma
E;delta
B;epsilon

En sortie je souhaiterais avoir à l'aide d'un awk le fichier suivant :

4;D;alpha
3;C;beta
1;A;gamma
5;E;delta
2;B;epsilon

Merci d'avance.

2 réponses

  1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    hello
    $ awk -F ";" 'NR==FNR {t[$1]=$2; next} {print t[$1] FS $0}' fichier1 fichier2
    4;D;alpha
    3;C;beta
    1;A;gamma
    5;E;delta
    2;B;epsilon
    1
  2. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    Salut,

    L'ordre de sortie est important ?
    awk est obligé ?

    Sinon...

    $ head f*
    ==> f1 <==
    A;1
    B;2
    C;3
    D;4
    E;5

    ==> f2 <==
    D;alpha
    C;beta
    A;gamma
    E;delta
    B;epsilon

    $ join -t';' -1 1 -2 1 -o 1.2,1.1,2.2 f1 <(sort f2)
    1;A;gamma
    2;B;epsilon
    3;C;beta
    4;D;alpha
    5;E;delta
    0