我想从两个文本文件之间的单个第二列($2)匹配前三位数字(例如:132******)。谁能给我推荐一下这个脚本?
输入文件名:9 73316991 73352391 DEL 99 35401
9 96058269 96059400 DEL 99 1132
9 132186937 132206288 DUP 99 19352
9 138338172 138339132 DEL 99 961
输入file2: 9 132185894 132209127 DUP 99 23234
9 140495212 140496044 DEL 99 833
9 136625162 136626293 DEL 99 1132
输出file3: 9 132185894 132209127 DUP 99 23234
您可以这样使用awk
:
awk 'FNR==NR{a[substr($2,1,3)];next} substr($2,1,3) in a' file1 file2
9 132185894 132209127 DUP 99 23234
awk '{key=substr($2,1,3)} NR==FNR{a[key];next} key in a' file1 file2