join
funciona muito bem:
$ join <(sort File1.txt) <(sort File2.txt) | column -t | tac
id No P R S
gi|371443198|gb|JH556662.1| 7573913 2 2 0
gi|371440577|gb|JH559283.1| 6931777 21 19 2
ps. faz questão de ordem de colunas?
se sim use:
$ join <(sort 1) <(sort 2) | tac | awk '{print $1,$3,$4,$5,$2}' | column -t
id P R S No
gi|371443198|gb|JH556662.1| 2 2 0 7573913
gi|371440577|gb|JH559283.1| 21 19 2 6931777