我有两个制表符分隔的文件。
pos.txt
A 100027454
A 100028517
A 100028954
A 100028986
A 100033307
A 100033331
A 100033338
A 100033382
A 100033410
A 100033424
和
FILE1.TXT
A 102470 T *
A 102471 G *
A 102472 C *
A 102473 T *
A 102474 G *
A 102475 G *
A 102476 T *
A 102477 C *
A 102478 C *
A 102479 T *
我想根据第一个文件中的第二列比较这两个文件。如果第二列值存在于两个文件的一行中,我希望它输出第二个文件中的整行。如果该值存在于第一个文件中而不存在于第二个文件中,我希望它在第四列中输出X
,并按原样输出前三列。
这是我能够得到的:
awk 'FNR==NR{a[$2]++;next}a[$2]' pos.txt file1.txt
但这只会打印它在file1
中找到的第2列值。我不希望丢失这些值。
答案 0 :(得分:0)
这将满足您的需求:
$ awk 'FNR==NR{a[$2]++;next}a[$2]{$4="\tx";print;next}1' pos.txt file1.txt