Menggunakan AWK, BC dan Expr untuk melakukan pengiraan matematik di Bash

Menggunakan AWK, BC dan Expr untuk melakukan pengiraan matematik di Bash

Ketika datang ke pengiraan matematik di bash, terdapat beberapa alat terbina dalam yang dapat anda gunakan, seperti perintah expr dan "(())" Ekspresi aritmetik. Walau bagaimanapun, terdapat juga alat lain yang boleh berguna, seperti AWK dan SED, yang merupakan alat pemprosesan teks yang kuat yang boleh digunakan untuk melakukan pengiraan pada data yang disimpan dalam fail atau output oleh arahan lain.

Dalam artikel ini, kami akan meneroka cara menggunakan Awk, BC, dan Expr untuk melakukan pengiraan matematik di bash, dan bagaimana memilih alat yang sesuai untuk pekerjaan.

Menggunakan AWK untuk pengiraan matematik

Awk adalah alat pemprosesan teks yang kuat yang juga boleh digunakan untuk pengiraan matematik. Ia menyediakan satu set fungsi terbina dalam yang boleh digunakan untuk melakukan aritmetik, seperti penambahan, penolakan, pendaraban, dan pembahagian.

Contohnya, katakan anda mempunyai fail yang dipanggil nombor.TXT yang mengandungi senarai nombor, satu setiap baris. Anda boleh menggunakan AWK untuk mengira jumlah nombor ini seperti berikut:

awk 'sum += $ 1 end print sum' nombor.txt
1awk 'sum += $ 1 end print sum' nombor.txt

Perintah ini memberitahu 'Awk' Untuk membaca fail nombor.txt, Dan untuk setiap baris, tambahkan medan pertama ke jumlah pembolehubah. Pada akhir fail, Awk mencetak nilai jumlah.

AWK juga boleh digunakan untuk melakukan pengiraan yang lebih kompleks, seperti mencari sisihan purata atau piawai satu set nombor. Contohnya, untuk mengira purata nombor dalam nombor fail.TXT, anda boleh menggunakan arahan berikut:

awk 'sum += $ 1 end cetak jumlah / nr'.txt
1awk 'sum += $ 1 end cetak jumlah / nr'.txt

Perintah ini membahagikan nilai jumlah dengan bilangan rekod (baris) dalam fail, yang disimpan dalam pemboleh ubah terbina dalam Nr.

Menggunakan BC untuk pengiraan matematik

BC adalah kalkulator baris arahan yang kuat yang boleh melakukan operasi aritmetik ketepatan tinggi, termasuk pengiraan terapung, fungsi logaritma dan trigonometri, dan aritmetik bilangan kompleks.

Berikut adalah contoh menggunakan BC untuk melakukan pengiraan matematik yang mudah:

echo "5 + 3" | BC
1echo "5 + 3" | BC

Perintah ini memberitahu BC untuk menambah 5 dan 3 dan mengembalikan hasilnya, iaitu 8.

BC juga menyokong input dari fail dan menyediakan beberapa pilihan untuk mengawal ketepatan dan pemformatan outputnya.

Contohnya, untuk mengira punca kuasa dua daripada 25 menggunakan BC, anda boleh menggunakan arahan berikut:

echo "sqrt (25)" | BC
1echo "sqrt (25)" | BC

Perintah ini memberitahu BC untuk mengira akar kuadrat 25, iaitu 5.

Salah satu kekuatan BC adalah keupayaannya untuk melakukan pengiraan ketepatan sewenang-wenang.

Menggunakan expr untuk pengiraan matematik

Perintah expr adalah alat terbina dalam dalam bash yang boleh digunakan untuk melaksanakan operasi aritmetik. Ia digunakan terutamanya untuk melaksanakan operasi aritmetik asas, seperti penambahan, penolakan, pendaraban, dan pembahagian.

Sebagai contoh, untuk menambah dua nombor bersama menggunakan expr, anda boleh menggunakan arahan berikut:

expr 2 + 3
1expr 2 + 3

Perintah ini memberitahu expr untuk menambah 2 dan 3 bersama -sama, dan mencetak hasilnya ke skrin.

Expr juga boleh digunakan untuk melakukan pengiraan yang lebih kompleks, seperti mengira baki pembahagian menggunakan pengendali modulus (%).

Sebagai contoh, untuk mengira baki 10 dibahagikan dengan 3, anda boleh menggunakan arahan berikut:

expr 10 % 3
1expr 10 % 3

Perintah ini memberitahu expr untuk membahagikan 10 hingga 3 dan mengembalikan selebihnya, iaitu 1.

Sebagai tambahan kepada operasi aritmetik asas, Expr juga menyediakan beberapa fungsi terbina dalam yang boleh digunakan untuk melakukan pengiraan yang lebih kompleks, seperti mengira akar kuadrat atau menaikkan nombor kepada kuasa.

Sebagai contoh, untuk mengira akar kuadrat 25 menggunakan expr, anda boleh menggunakan arahan berikut:

Expr Sqrt 25
1Expr Sqrt 25

Perintah ini memberitahu expr Untuk mengira akar kuadrat 25, iaitu 5.

Kesimpulan

Dalam artikel ini, kami telah meneroka cara menggunakan Awk, BC, dan Expr untuk melakukan pengiraan matematik di Bash. Setiap alat ini mempunyai kekuatan dan kelemahannya, dan memilih alat yang sesuai untuk pekerjaan bergantung pada keperluan khusus skrip atau tugas anda.

Dengan menguasai alat ini dan memahami keupayaan mereka, anda boleh melakukan pengiraan matematik yang kompleks di bash, yang boleh berguna dalam pelbagai aplikasi, dari analisis data dan pemprosesan ke pengkomputeran saintifik dan automasi.