我试图在下面file1
找到未在中找到的行file2
。在awk
下面运行,但不会产生任何结果。谢谢 :)。
文件1
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(missing.awk)
BEGIN { FS="[[:space:]]+|-" }
NR == FNR { seen[$0]; next }
$3 in seen { found[$3]; delete seen[$6] }
END { print length(found) " ids found"
for (i in seen) print i " missing" }
awk -f missing.awk file1 file2
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
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句