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 имеет два столбца, а File2.txt имеет четыре столбца. Я хочу объединить оба файла с уникальным идентификатором (массив [1] должен совпадать в обоих файлах (file1.txt & file2.txt) и дать выходной только совпадающий идентификатор (см. Output.txt).
Я пытался join -v <(sort file1.txt) <(sort file2.txt)
. Запрашивается любая помощь с командами awk или join.
tac
?sort
помещает строку заголовка в конец. На самом деле это грязное решение. И в общем случае заголовок может идти в середине вывода. Однако это работает здесь.Один из способов использования
awk
:Содержание
script.awk
:Запустите это как:
Со следующим результатом:
источник