Se você sempre tiver o mesmo número de entradas em cada arquivo, e se cada ID puder ser unido com o mesmo ID no outro arquivo, você poderia fazer algo assim (isto é uma prova de conceito, você tem que melhorar isso):
$ join -j1 <(sort -n file1.txt) <(sort -n file2.txt) |
awk '{if($2!=$3){k="==> BUG"}else {k=" ==> OK"}print $0,k}'
Id Value Value ==> OK
1 apple mango ==> BUG
2 orange papaya ==> BUG
3 mango orange ==> BUG
4 banana banana ==> OK
5 strawberry straw berry ==> BUG
6 papaya strawberry ==> BUG
Note que não funcionará como está se a ID # 4 não estiver presente no segundo arquivo, por exemplo.
Você deve remover os cabeçalhos e manter apenas BUG
linhas.
$ join -j1 <(sort -n file1.txt | tail -n+2) <(sort -n file2.txt | tail -n+2) |
awk '($2!=$3){print $0," ==> BUG"}'