0
我有两个制表符分隔的文件。awk比较文件,在不匹配的情况下插入字符
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倍的值。我不希望这些值丢失。
您可以加入你想要的输出,以补充你的问题的描述? – 2014-09-19 08:08:31
在第一个文件中没有第四列,所以你试图用第四列中的X输出到底是什么?为什么不发布pos.txt DO的某些字段匹配的示例以及相关的期望输出?这将有助于澄清你的需求 - 现在它完全是模糊的。甚至将'first file'命名为'pos.txt'和'second file'命名为'file1',而不是简单地将'file1'和'file2'命名为混淆。只是让你的问题清晰和简单。 – 2014-09-19 18:31:38