awk在2个文件中查找不匹配项
我试图在下面的awk在2个文件中查找不匹配项,awk,Awk,我试图在下面的file1中找到file2中找不到的行。下面的awk将运行,但不会产生任何结果。谢谢:) file1 955763 957852 976270 文件2 chr1 955543 955763 chr1:955543-955763 AGRN-6|gc=75 chr1 957571 957852 chr1:957571-957852 AGRN-7|gc=61.2 chr1 970621 970740 chr1:970621-970740 AGRN-8
file1
中找到file2
中找不到的行。下面的awk
将运行,但不会产生任何结果。谢谢:)
file1
955763
957852
976270
文件2
chr1 955543 955763 chr1:955543-955763 AGRN-6|gc=75
chr1 957571 957852 chr1:957571-957852 AGRN-7|gc=61.2
chr1 970621 970740 chr1:970621-970740 AGRN-8|gc=57.1
所需输出
2 ids found
976270 missing
awk(缺少.awk)
awk
救援
如果file2的大小比file1大很多,那么这种方法会更好
awk 'NR==FNR{a[$1];next}
$3 in a{c++; delete a[$3]}
END{if(c) print c " ids found";
for(k in a) print k " missing"}' file1 file2
2 ids found
976270 missing
awk
在大文件上运行良好。谢谢:)。
awk 'NR==FNR{a[$1];next}
$3 in a{c++; delete a[$3]}
END{if(c) print c " ids found";
for(k in a) print k " missing"}' file1 file2
2 ids found
976270 missing