O truque é não usar bashpara executar a adição 1 .
Primeiro, leia cada número em uma variável separada. Isso pressupõe que os arquivos contenham apenas um número e nenhuma outra informação.
a="$(<a.txt)"
b="$(<b.txt)"
Em seguida, use a bccalculadora 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 do shell POSIX suportada por bashe mais algumas conchas), você pode usar printfpara enviar a adição para bc:
printf '%s + %s\n' "$a" "$b" | bc
E armazenando o resultado cnovamente:
c="$( printf '%s + %s\n' "$a" "$b" | bc )"
1 Usar bashpara realizar a adição de dois números extremamente grandes exigiria a implementação, no bashscript, de uma rotina para executar aritmética de precisão arbitrária . Isso é perfeitamente factível, mas complicado e desnecessário, pois todos os Unix bcque já oferecem esse serviço já são fornecidos de maneira relativamente fácil e acessível.
pythonou similar nesse caso.