Embora você tenha notado que os arquivos são delimitados por tabulações, na verdade você não fez uso disso. Além disso, a chave comum A
, B
etc. está no campo terceiro de file2.txt
. Então:
$ awk 'BEGIN{OFS=FS="\t"} NR==FNR{a[$1]=$2;next}{$4=a[$3];}1' file1.txt file2.txt
D01 Ti600 A Golden fog
D02 Ti500 B Vibrant rainbow and sunny
D16 Ti700 C Jumping, bold, and bright
D20 Ti800 B Vibrant rainbow and sunny
ou (ligeiramente mais curto)
$ awk -F'\t' 'NR==FNR{a[$1]=$2;next}{print $0"\t"a[$3]}' file1.txt file2.txt
D01 Ti600 A Golden fog
D02 Ti500 B Vibrant rainbow and sunny
D16 Ti700 C Jumping, bold, and bright
D20 Ti800 B Vibrant rainbow and sunny