File1.txt
id No
gi|371443199|gb|JH556661.1| 7907290
gi|371443198|gb|JH556662.1| 7573913
gi|371443197|gb|JH556663.1| 7384412
gi|371440577|gb|JH559283.1| 6931777
File2.txt
id P R S
gi|367088741|gb|AGAJ01056324.1| 5 5 0
gi|371443198|gb|JH556662.1| 2 2 0
gi|367090281|gb|AGAJ01054784.1| 4 4 0
gi|371440577|gb|JH559283.1| 21 19 2
output.txt
id P R S NO
gi|371443198|gb|JH556662.1| 2 2 0 7573913
gi|371440577|gb|JH559283.1| 21 19 2 6931777
File1.txt a deux colonnes et File2.txt a quatre colonnes. Je veux joindre les deux fichiers qui ont un identifiant unique (le tableau [1] doit correspondre dans les deux fichiers (file1.txt et file2.txt) et ne donner à l'output que l'identifiant correspondant (voir output.txt).
J'ai essayé join -v <(sort file1.txt) <(sort file2.txt)
. Toute aide avec les commandes awk ou join demandée.
tac
?sort
place la chaîne d'en-tête à la fin. En fait, c'est une sale solution. Et dans le cas général, l'en-tête peut aller au milieu de la sortie. Cependant, cela fonctionne ici.À sens unique en utilisant
awk
:Contenu de
script.awk
:Exécutez-le comme:
Avec le résultat suivant:
la source