Uma solução de duas passagens - na primeira passagem armazena todos os valores do campo 1 em uma matriz a
, na segunda passagem imprime cada linha, com o segundo campo sendo definido como 0 se não estiver na matriz a
awk 'first{a[$1]; next}; {print $1, !($2 in a)? 0: $2}' first=1 file first=0 file