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 hat zwei Spalten und File2.txt hat vier Spalten. Ich möchte beide Dateien mit einer eindeutigen ID verbinden (Array [1] sollte in beiden Dateien übereinstimmen (file1.txt & file2.txt) und nur eine übereinstimmende ID für die Ausgabe angeben (siehe output.txt).
Ich habe versucht join -v <(sort file1.txt) <(sort file2.txt)
. Jede Hilfe mit awk oder Join-Befehlen angefordert.
tac
?sort
Header-Zeichenfolge am Ende steht. Eigentlich ist es eine schmutzige Lösung. Im Allgemeinen kann der Header in die Mitte der Ausgabe gehen. Hier funktioniert es jedoch.Ein Weg mit
awk
:Inhalt von
script.awk
:Führen Sie es wie folgt aus:
Mit folgendem Ergebnis:
quelle