Algo parecido com o script a seguir, usando gawk
#!/bin/bash
gawk -F, 'tbl[$1]!=""{$2=tbl[$1];OFS=",";print;next}{tbl[$1]=$2;}' $1 $2
Você passa os dois arquivos primeiro com o arquivo de token. Isto assume que o primeiro arquivo não tem nenhuma repetição, e se o segundo arquivo tiver alguma linha extra, onde o primeiro campo não tem uma correspondência no primeiro arquivo, então essas linhas são omitidas da saída.
O programa gawk
constrói a matriz associativa tbl
, indexada pelo primeiro campo, a partir do primeiro arquivo, depois usa isso para substituir o segundo campo do segundo arquivo, depois imprime as linhas com substituições e usando " "como separador de campo. Veja man gawk
para mais detalhes.