Plik1.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
Plik2.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
Plik1.txt ma dwie kolumny, a Plik2.txt ma cztery kolumny. Chcę połączyć oba pliki, które mają unikalny identyfikator (tablica [1] powinna pasować do obu plików (plik1.txt i plik2.txt) i dać ouput tylko pasujący identyfikator (patrz output.txt).
Próbowałem join -v <(sort file1.txt) <(sort file2.txt)
. Wymagana jakakolwiek pomoc dotycząca poleceń awk lub join.
tac
?sort
umieszcza ciąg nagłówka na końcu. Właściwie to brudne rozwiązanie. I w ogólnym przypadku nagłówek może przejść na środek wyniku. Jednak tutaj działa.Jeden sposób przy użyciu
awk
:Treść
script.awk
:Uruchom to jak:
Z następującym wynikiem:
źródło