Supondo que seus arquivos de entrada são delimitados por tabulação:
$ join -a 1 -e 0 -t $'\t' -o 1.1,2.2 F1.txt F2.txt
A 0.5
B 0
C 0
D 0
E 1
F 0
G 0
H 0.5
I 0
J 1
join
os dois arquivos, asseguram que todas as linhas do primeiro arquivo estejam presentes ( -a
), se algum campo for nulo então use o valor "0" ( -e
), pegue o primeiro campo do primeiro arquivo e o segundo campo do segundo arquivo ( -o
), e use tab como o delimitador ( -t
)
Se você quiser o awk, eu escrevo (note a ordem dos argumentos do arquivo)
awk 'BEGIN {FS=OFS="\t"} NR==FNR {v[$1]=$2; next} {print $1, (v[$1] ? v[$1] : 0)}' F2.txt F1.txt