O truque é não usar bash para realizar a adição 1 .
Primeiro, leia cada número em uma variável separada. Isso pressupõe que os arquivos contêm apenas um número e nenhuma outra informação.
a="$(<a.txt)"
b="$(<b.txt)"
Em seguida, use a calculadora bc para obter o resultado:
bc <<<"$a + $b"
bc é uma "linguagem e calculadora aritmética de precisão arbitrária".
Para armazenar o resultado em uma variável c :
c="$( bc <<<"$a + $b" )"
Se a sintaxe <<< parecer estranha (é chamada de "string aqui" e é uma extensão da sintaxe POSIX suportada por bash e alguns outros shells), você pode usar printf para enviar a adição a bc :
printf '%s + %s\n' "$a" "$b" | bc
E armazenar o resultado em c novamente:
c="$( printf '%s + %s\n' "$a" "$b" | bc )"
1 Usar bash para realizar a adição de dois números extremamente grandes exigiria a implementação, no script bash , de uma rotina para fazer aritmética de precisão arbitrária . Isso é perfeitamente factível, mas pesado e desnecessário, já que todo Unix vem com bc , que já fornece esse serviço para você de uma forma relativamente fácil e acessível.