El truco es no usar bashpara realizar la suma 1 .
Primero, lea cada número en una variable separada. Esto supone que los archivos contienen solo un número y ninguna otra información.
a="$(<a.txt)"
b="$(<b.txt)"
Luego usa la bccalculadora para obtener el resultado:
bc <<<"$a + $b"
bc es un "lenguaje y calculadora aritmética de precisión arbitraria".
Para almacenar el resultado en una variable c:
c="$( bc <<<"$a + $b" )"
Si la <<<sintaxis se siente rara (se llama "here-string" y es una extensión de la sintaxis de shell POSIX soportada por bashy algunos otros shells), en su lugar puede usar printfpara enviar la adición a bc:
printf '%s + %s\n' "$a" "$b" | bc
Y almacenando el resultado cnuevamente:
c="$( printf '%s + %s\n' "$a" "$b" | bc )"
1 El uso bashpara realizar la suma de dos números extremadamente grandes requeriría la implementación, en el bashscript, de una rutina para hacer aritmética de precisión arbitraria . Esto es perfectamente factible, pero engorroso e innecesario, ya que viene con todos los Unix bcque ya le brindan este servicio de una manera relativamente fácil y accesible.
pythono similar en ese caso.