我尝试Awk
作为
awk -F, 'FNR==NR{a[$1]=$1;next} {print (($1 in a) ? $0","a[$1] : $0",NA");}'
cat f1.txt
FOO,LONDON,45,789
GOO,US,46,9876
cat f2.txt
45,ONE
47,SECOND
结果如
FOO,LONDON,45,789,ONE
GOO,US,46,9876,NA
答案 0 :(得分:0)
您可以使用此awk
:
awk -F, 'FNR==NR{a[$1]=$2;next} {print (($3 in a) ? $0","a[$3] : $0",NA");}' f2 f1
(OR)
awk -F, 'FNR==NR{a[$1]=$2;next} {$(NF+1)=($3 in a)?a[$3]:"NA"}1' OFS=, f2 f1
有些问题是:
a[$1]=$1
- 应为a[$1]=$2
($1 in a)
- 应为($3 in a)