$ awk 'NR==FNR{a[$2 FS $3]=$0;next}$3 FS $4 in a {print a[$3 FS $4] "\t" $0}' fileA fileB
复制代码
或者 $ awk 'ARGIND==1 {a[$2$3]=$0} ARGIND>1&&($3$4 in a) {print a[$3$4],$0}' file1 file2 [/code]
5)根据“@”进行单位划分后,再部分匹配记录
输入文件一:
NO_222333 222 abc
NO_54321 123 aa
NO_123456 234 bac
NO_5432123 321 bbb
输入文件二:
@ab|abc|NO_12345.1|abcd aa bb cc
abcdefghigkabcdefghigkabcdefghigk
abcdefghigkabcdefghigkabcdefghigk
abcdefghigkabcdefghigkabcdefghigk
@ab|cba|NO_54321.1|abcd aa bb aa
cbadefghigkcbadefghigkcbadefg
cbadefghigkcbadefghigkcbadefg
@ab|cba|NO_5432123.2|abcd aa aa
abcdefghigkabcdefghigkabcdefghigk
abcdefghigkabcdefghigkabcdefghigk
cbadefghigkcbadefghigkcbadefg
cbadefghigkcbadefghigkcbadefg
$ awk 'NR==FNR{a[$1];next}/@/{split($0,b,"[|.]");if(b[3] in a)(t=1);else{t=0}}t' file1 file2