Você precisa verificar se $1
está em arr
e, em caso afirmativo, se o valor é diferente de $2
e, em seguida, imprimir:
awk -F, 'FNR == NR { arr[$1] = $3; next }
{ if ($1 in arr && arr[$1] != $2) print $2 }'
Usar FNR == NR
e next
é a maneira convencional de processar linhas no primeiro arquivo de maneira diferente das linhas de outros arquivos. Sim, você pode achatá-lo em uma linha, mas "one-liner" é um termo pejorativo, a menos que você esteja escrevendo APL (ou talvez Perl).