Caranya adalah dengan tidak menggunakan bash
untuk melakukan penambahan 1 .
Pertama, baca setiap angka menjadi variabel yang terpisah. Ini mengasumsikan bahwa file hanya berisi angka dan tidak ada informasi lain.
a="$(<a.txt)"
b="$(<b.txt)"
Kemudian gunakan bc
kalkulator untuk mendapatkan hasilnya:
bc <<<"$a + $b"
bc
adalah "bahasa aritmatika dan kalkulator presisi arbitrer".
Untuk menyimpan hasilnya dalam variabel c
:
c="$( bc <<<"$a + $b" )"
Jika <<<
sintaksnya terasa aneh (ini disebut "di sini-string" dan merupakan ekstensi ke sintaks shell POSIX yang didukung oleh bash
dan beberapa shell lain), Anda dapat menggunakan printf
untuk mengirim tambahan ke bc
:
printf '%s + %s\n' "$a" "$b" | bc
Dan menyimpan hasilnya c
lagi:
c="$( printf '%s + %s\n' "$a" "$b" | bc )"
1 Menggunakan bash
untuk melakukan penambahan dua angka yang sangat besar akan membutuhkan implementasi, dalam bash
skrip, dari rutinitas untuk melakukan aritmatika presisi arbitrer . Ini sangat bisa dilakukan, tetapi rumit dan tidak perlu karena setiap Unix datang bc
yang sudah menyediakan layanan ini kepada Anda dengan cara yang relatif mudah dan dapat diakses.
python
atau serupa dalam hal itu.