我有两个制表符分隔值文件,比如说
File1.txt
chr1 894573 rs13303010 GG
chr2 18674 rs10195681 **CC**
chr3 104972 rs990284 AA <--- Unique Line
chr4 111487 rs17802159 AA
chr5 200868 rs4956994 **GG**
chr5 303686 rs6896163 AA <--- Unique Line
chrX 331033 rs4606239 TT
chrY 2893277 i4000106 **GG**
chrY 2897433 rs9786543 GG
chrM 57 i3002191 **TT**
File2.txt
chr1 894573 rs13303010 GG
chr2 18674 rs10195681 AT
chr4 111487 rs17802159 AA
chr5 200868 rs4956994 CC
chrX 331033 rs4606239 TT
chrY 2893277 i4000106 GA
chrY 2897433 rs9786543 GG
chrM 57 i3002191 TA
期望的输出:
Output.txt
chr1 894573 rs13303010 GG
chr2 18674 rs10195681 AT
chr3 104972 rs990284 AA <--Unique Line from File1.txt
chr4 111487 rs17802159 AA
chr5 200868 rs4956994 CC
chr5 303686 rs6896163 AA <--Unique Line from File1.txt
chrX 331033 rs4606239 TT
chrY 2893277 i4000106 GA
chrY 2897433 rs9786543 GG
chrM 57 i3002191 TA
File1.txt共有10个条目,而File2.txt有8个条目。 我想使用第1列和第2列比较文件。
如果文件的前两列值相同,则应将相应的行打印到File2.txt中的Output.txt。
当File1.txt具有唯一组合(Column1:column2,File2.txt中不存在)时,它应该将相应的行从File1.txt打印到Output.txt。
我在网站上尝试了各种awk和perl组合,但无法得到正确答案。 任何建议都会有所帮助。
谢谢, 阿米特
答案 0 :(得分:0)
下次,显示您的awk代码tryso,我们可以帮助解决错误或丢失对象
awk 'NR==FNR || (NR>=FNR&&($1","$2 in k)){k[$1,$2]=$0}END{for(K in k)print k[K]}' file1 file2