Bash-shell两个文件匹配成功,但输出错误

时间:2017-12-04 09:18:42

标签: bash shell awk

cat file1.txt
cheng 600
huang 500
pan 400
yin 300

cat file2.txt
600 a
300 c

执行命令时:

awk 'NR==FNR{a[$1]=$2;next}($2 in a){print $1,$2,a[$1]}' f2.txt f1.txt

输出如下:

 cheng 600
 yin 300

但我预计应该是这样的:

 cheng 600 a
 yin 300 c

出了什么问题?

1 个答案:

答案 0 :(得分:1)

您可以使用:

awk 'NR==FNR{a[$1]=$2; next} $2 in a{print $0, a[$2]}' f2.txt f1.txt

cheng 600 a
yin 300 c