我想比較兩個不同的文件比較兩個文件的兩列,讓我們說「文件1」和「文件2」,以這種方式。 如果字段$ 2和$ 3在兩個文件中都相同,則輸出file2的$ 0。這裏有一個例子:用awk
file1
E 352 697
E 25 692
E 510 744
file2
E 335 705 1 1
E 267 792 1 2
E 365 395 1 3
E 25 692 1 4
E 566 624 1 5
E 227 358 1 6
E 516 554 1 7
E 510 744 1 8
E 234 790 1 9
E 352 697 1 10
所需的輸出:
E 352 697 1 10
E 25 692 1 4
E 510 744 1 8
請注意,所有夫婦$ 2,$ 3文件1中包含的文件2和輸出文件的行數是相同的文件1的。 有很多類似問題的問題,我知道,但所有的答案都沒有用。 我曾嘗試使用:
awk 'FNR==NR {a[$2]; b[$3]; next} $2 in a && $3 in b' file1 file2 > output
它的工作原理,但在輸出文件中有多餘的行。你可以幫幫我嗎?謝謝!
但劇本給了我所需的輸出。你的意思是多行? – nu11p01n73R
我已經把文件只是一些線條,原來的有大得多。它意味着,在輸出文件中有沒有對文件1存在於文件2行。我想這是因爲$ 2或$ 3出現在file1中,但不是同時出現 – Anna