Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม Bash

เรียนรู้คณิตศาสตร์ในเทอร์มินัล Linux: 5 เทคนิคจำเป็น

ในบทความนี้ เราจะแสดงวิธีต่างๆ ที่มีประโยชน์สำหรับการคำนวณคณิตศาสตร์ในเทอร์มินัล Linux จนจบบทความ คุณจะเรียนรู้วิธีการคำนวณคณิตศาสตร์พื้นฐานแบบปฏิบัติจริงในบรรทัดคำสั่ง

มาเริ่มกันเลย!

1. ใช้ Bash Shell

วิธีแรกและง่ายที่สุดสำหรับคณิตศาสตร์พื้นฐานบน CLI ของ Linux คือการใช้วงเล็บคู่ (double parentheses) นี่คือตัวอย่างที่ใช้ค่าที่เก็บในตัวแปร:

$ ADD=$(( 1 + 2 ))
$ echo $ADD
$ MUL=$(( $ADD * 5 ))
$ echo $MUL
$ SUB=$(( $MUL - 5 ))
$ echo $SUB
$ DIV=$(( $SUB / 2 ))
$ echo $DIV
$ MOD=$(( $DIV % 2 ))
$ echo $MOD

เรียนรู้คณิตศาสตร์ในเทอร์มินัล Linux: 5 เทคนิคจำเป็น

2. ใช้คำสั่ง expr

คำสั่ง expr ประเมินนิพจน์และพิมพ์ค่าของนิพจน์ที่ให้มาไปยัง standard output เราจะดูวิธีใช้ expr สำหรับคณิตศาสตร์ง่ายๆ การเปรียบเทียบ การเพิ่มค่าตัวแปร และการหาความยาวสตริง

ตัวอย่างการคำนวณง่ายๆ ด้วย expr โปรดทราบว่าตัวดำเนินการหลายตัวต้อง escape หรือ quoted สำหรับ shells เช่น ตัวดำเนินการ * (จะดูเพิ่มเติมภายใต้การเปรียบเทียบนิพจน์)

$ expr 3 + 5
$ expr 15 % 3
$ expr 5 \* 3
$ expr 5 – 3
$ expr 20 / 4

เรียนรู้คณิตศาสตร์ในเทอร์มินัล Linux: 5 เทคนิคจำเป็น

ต่อไป เราจะครอบคลุมการเปรียบเทียบ เมื่อนิพจน์ประเมินเป็น false expr จะพิมพ์ค่า 0 มิฉะนั้นพิมพ์ 1

ตัวอย่าง:

$ expr 5 = 3
$ expr 5 = 5
$ expr 8 != 5
$ expr 8 \> 5
$ expr 8 \< 5
$ expr 8 \<= 5

เรียนรู้คณิตศาสตร์ในเทอร์มินัล Linux: 5 เทคนิคจำเป็น

คุณยังสามารถใช้ expr เพิ่มค่าตัวแปรได้ ดูตัวอย่าง (ลดค่าได้เช่นกัน):

$ NUM=$(( 1 + 2))
$ echo $NUM
$ NUM=$(expr $NUM + 2)
$ echo $NUM

เรียนรู้คณิตศาสตร์ในเทอร์มินัล Linux: 5 เทคนิคจำเป็น

มาดูวิธีหาความยาวสตริงด้วย:

$ expr length "This is Tecmint.com"

เรียนรู้คณิตศาสตร์ในเทอร์มินัล Linux: 5 เทคนิคจำเป็น

ข้อมูลเพิ่มเติมเกี่ยวกับความหมายของตัวดำเนินการ ดู man page ของ expr:

$ man expr

3. ใช้คำสั่ง bc

bc (Basic Calculator) เป็นยูทิลิตีบรรทัดคำสั่งที่ให้คุณสมบัติครบครันของเครื่องคิดเลขวิทยาศาสตร์หรือการเงินง่ายๆ เหมาะสำหรับคณิตศาสตร์จุดทศนิยม (floating point math) โดยเฉพาะ

หาก bc command ยังไม่ติดตั้ง ติดตั้งได้ด้วย:

$ sudo apt install bc #Debian/Ubuntu
$ sudo yum install bc #RHEL/CentOS
$ sudo dnf install bc #Fedora 22+

ติดตั้งแล้ว รันในโหมดโต้ตอบ (interactive) หรือ non-interactive โดยส่งอาร์กิวเมนต์ – เราจะดูทั้งสองกรณี รันโหมดโต้ตอบ พิมพ์คำสั่ง bc ที่ prompt และเริ่มคำนวณ:

$ bc

เรียนรู้คณิตศาสตร์ในเทอร์มินัล Linux: 5 เทคนิคจำเป็น

ตัวอย่างการใช้ bc แบบ non-interactive บนบรรทัดคำสั่ง:

$ echo '3+5' | bc
$ echo '15 % 2' | bc
$ echo '15 / 2' | bc
$ echo '(6 * 2) - 5' | bc

เรียนรู้คณิตศาสตร์ในเทอร์มินัล Linux: 5 เทคนิคจำเป็น

แฟล็ก -l ใช้ตั้งค่า scale เริ่มต้น (หลักทศนิยม) เป็น 20 ตัวอย่าง:

$ echo '12/5 | bc'
$ echo '12/5 | bc -l'

เรียนรู้คณิตศาสตร์ในเทอร์มินัล Linux: 5 เทคนิคจำเป็น

4. ใช้คำสั่ง Awk

Awk เป็นโปรแกรมประมวลผลข้อความ (text-processing) ที่โดดเด่นที่สุดใน GNU/Linux รองรับตัวดำเนินการคณิตศาสตร์ บวก, ลบ, คูณ, หาร, และ modulus เหมาะสำหรับคณิตศาสตร์จุดทศนิยมเช่นกัน

ใช้คำนวณพื้นฐานได้ดังนี้:

$ awk 'BEGIN { a = 6; b = 2; print "(a + b) = ", (a + b) }'
$ awk 'BEGIN { a = 6; b = 2; print "(a - b) = ", (a - b) }'
$ awk 'BEGIN { a = 6; b = 2; print "(a * b) = ", (a * b) }'
$ awk 'BEGIN { a = 6; b = 2; print "(a / b) = ", (a / b) }'
$ awk 'BEGIN { a = 6; b = 2; print "(a % b) = ", (a % b) }'

เรียนรู้คณิตศาสตร์ในเทอร์มินัล Linux: 5 เทคนิคจำเป็น

หากคุณเพิ่งรู้จัก Awk เรามีชุดคู่มือครบครัน: Learn Awk Text Processing Tool

5. ใช้คำสั่ง factor

คำสั่ง factor ใช้แยกตัวประกอบเฉพาะ (prime factors) ของจำนวนเต็ม ตัวอย่าง:

$ factor 10
$ factor 127
$ factor 222
$ factor 110

เรียนรู้คณิตศาสตร์ในเทอร์มินัล Linux: 5 เทคนิคจำเป็น

ขอจบครับ! ในบทความนี้เราอธิบายวิธีต่างๆ สำหรับการคำนวณคณิตศาสตร์ในเทอร์มินัล Linux รู้สึกเสรีได้ที่จะถามคำถามหรือแบ่งปันความคิดเห็นผ่านฟอร์มด้านล่าง