linux_vlookup

https://stackoverflow.com/questions/32481877/what-is-nr-fnr-in-awk

Look for keys (first word of line) in file2 that are also in file1.
Step 1: fill array a with the first words of file 1:

awk '{a[$1];}' file1

Step 2: Fill array a and ignore file 2 in the same command. For this check the total number of records until now with the number of the current input file.

awk 'NR==FNR{a[$1]}' file1 file2

Step 3: Ignore actions that might come after } when parsing file 1

awk 'NR==FNR{a[$1];next}' file1 file2 

Step 4: print key of file2 when found in the array a

awk 'NR==FNR{a[$1];next} $1 in a{print $1}' file1 file2
pony@z2air:/mnt/d/Biosoft/MCScanX/at$ head at.test
evm.model.fragScaff_scaffold_15.30 
evm.model.fragScaff_scaffold_15.66 
evm.model.fragScaff_scaffold_15.52 
evm.model.fragScaff_scaffold_15.52 
evm.model.fragScaff_scaffold_15.52 
evm.model.fragScaff_scaffold_15.52 
evm.model.fragScaff_scaffold_15.52 
evm.model.fragScaff_scaffold_15.139
evm.model.fragScaff_scaffold_15.81 
evm.model.fragScaff_scaffold_15.81 
pony@z2air:/mnt/d/Biosoft/MCScanX/at$ head at.gff
fc15    evm.model.fragScaff_scaffold_15.18      172819  173259
fc15    evm.model.fragScaff_scaffold_15.30      314441  318368
fc15    evm.model.fragScaff_scaffold_15.109     1117575 1118396
fc15    evm.model.fragScaff_scaffold_15.140     1593997 1594908
fc15    evm.model.fragScaff_scaffold_15.66      684328  686553
fc15    evm.model.fragScaff_scaffold_15.52      540989  544116
fc15    evm.model.fragScaff_scaffold_15.96      1018996 1024259
fc15    evm.model.fragScaff_scaffold_15.139     1584325 1585666
fc15    evm.model.fragScaff_scaffold_15.7       46014   46783
fc15    evm.model.fragScaff_scaffold_15.81      814968  815669
$ awk 'NR==FNR{a[$1];next}$2 in a {print $1}' at.test at.gff >test
NR:
FNR:
a[$1]: evm.model.fragScaff_scaffold_15.18
$2: fc15    evm.model.fragScaff_scaffold_15.18
print $1: fc15

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容