Joindre 2 fichiers sur champs communs
Résolu
nekomajin31
Messages postés
8
Statut
Membre
-
dubcek Messages postés 18627 Date d'inscription Statut Contributeur Dernière intervention -
dubcek Messages postés 18627 Date d'inscription Statut Contributeur Dernière intervention -
bonjour,
j'ai 2 textedit de la sorte :
A1 a
A2 c
A3 e
A4 d
& pour mon deuxième :
a 10
b 31
c 12
e 11
, j'aimerai avoir un shell , ou un awk, qui écrit les valeurs (10, 31...) dans mon premier shell, en associant , de tel sorte :
A1 a 10
A2 c 12
...
(une getline m'arrangerait..)
merci d'avance !
j'ai 2 textedit de la sorte :
A1 a
A2 c
A3 e
A4 d
& pour mon deuxième :
a 10
b 31
c 12
e 11
, j'aimerai avoir un shell , ou un awk, qui écrit les valeurs (10, 31...) dans mon premier shell, en associant , de tel sorte :
A1 a 10
A2 c 12
...
(une getline m'arrangerait..)
merci d'avance !
2 réponses
-
hjello
avec awk$ awk 'FNR==NR {t[$1]=$2; next} x=t[$2] {print $0, x}' fichier2 fichier1
A1 a 10
A2 c 12
A3 e 11 -
Salut,
Il existe des commandes natives qui font ça très bien, et particulièrement la commandejoin
:
$ head f*
==> f1 <==
A1 a
A2 c
A3 e
A4 d
==> f2 <==
a 10
b 31
c 12
e 11
$ join --nocheck-order -1 2 -2 1 -o 1.1,1.2,2.2 f1 f2
A1 a 10
A2 c 12
A3 e 11