Se eu entendi corretamente, sua pergunta "sem correspondência" deve ser substituída por valores de ref.csv
. Uma possível solução é com awk
:
awk -F',' 'BEGIN { OFS = "," } FNR==NR { m[$1] = $2; next; } { if ($3 in m) { $4 = "\"" m[$3] "\""; } else { $4 = "\"" "\""; } print; }' ref.csv daily.csv
Explicação:
FNR==NR
é verdadeira enquanto o primeiro arquivo é lido.
Criamos array m
com primeira coluna de índice e terceira coluna de valor.
Então, no segundo bloco, lemos o segundo arquivo (por causa da diretiva next
no primeiro bloco), verifique se a coluna 3 é o índice da matriz m
e, se sim, definir o novo valor da coluna. Se não, nós definimos o valor vazio.