11. ตัวดำเนินการ (operators) และคำสั่งน่าสนใจ
Submitted by wd on Wed, 2007-11-21 12:49
Topic:
11.1 ตัวดำเนินการเปรียบเทียบตัวอักษร (String comparison operators)
[ "$s1" = "$s2" ]
หรือ[ "$s1" == "$s2" ]
เป็นจริง ถ้า s1 เท่ากับ s2[ "$s1" != "$s2" ]
เป็นจริง ถ้า s1 ไม่เท่ากับ s2[[ "$s1" < "$s2" ]]
หรือ[ "$s1" \< "$s2" ]
เป็นจริง ถ้า s1 น้อยกว่า s2[[ "$s1" > "$s2" ]]
หรือ[ "$s1" \> "$s2" ]
เป็นจริง ถ้า s1 มากกว่า s2[ -n "$s1" ]
เป็นจริง ถ้า s1 มีค่าใด ๆ[ -z "$s1" ]
เป็นจริง ถ้า s1 ไม่มีค่า
11.2 ตัวอย่างการเปรียบเทียบอักษร
#!/bin/bash S1='string' S2='String' if [ "$S1"="$S2" ]; then echo "S1('$S1') is not equal to S2('$S2')" fi if [ "$S1"="$S1" ]; then echo "S1('$S1') is equal to S1('$S1')" fi
11.3 ตัวดำเนินการทางคณิตศาลตร์ (Arithmetic operators)
+
การบวก-
การลบ*
การคูณ/
การหาร%
การหาเศษจากตัวหาร (remainder)
11.4 ตัวเปรียบเทียบทางคณิตศาตร์ (Arithmetic relational operators
-lt
น้อยกว่า (<)-gt
มากกว่า (>)-le
น้อยกว่าหรือเท่ากับ (<=)-ge
มากกว่าหรือเท่ากับ (>=)-eq
เท่ากับ (==)-ne
ไม่เท่ากับ (!=)
11.5 คำสั่งควรรู้
sed
เป็นเอดิเตอร์แบบบรรทัดคำสั่ง มีการใช้งานที่พลิกแพลงหลากหลายมาก ตัวอย่าง
$ sed 's/old/new/g' /tmp/dummy
นำเอาเนื้อไฟล์ /tmp/dummy
มาแทนที่ old
ด้วย new
และแสดงออกทางจอภาพ
$ sed 12,18d /tmp/dummy
นำเอาเนื้อไฟล์ /tmp/dummy
มาแสดงทางจอภาพ โดยเว้นไม่แสดงบรรทัดที่ 12 ถึงบรรทัดที่ 18
ดูรายละเอียดเพิ่มเติมได้ที่ gentoo: Sed by example
awk
เป็นทั้งโปรแกรมและภาษาในการค้นหาข้อความในไฟล์จากรูปแบบที่เรากำหนดให้สมมุติว่าไฟล์
/tmp/dummy
มีเนื้อไฟล์คือ
test123 test tteesstt
ตัวอย่างการใช้งานคือ
$ awk '/test/ {print}' /tmp/dummy test123 test
ดูรายละเอียดเพิ่มเติมได้ที่ gentoo: Awk by example
grep
เป็นโปรแกรมที่ใช้บ่อยในการค้นข้อความในไฟล์ และยังมีความสามารถในการสรุปผลการนับข้อความด้วยตัวอย่าง
$ man grep | grep "standard" -c 8
เป็นการค้นคำว่า standard ในการแสดงผลของคำสั่ง man grep
ว่ามีอยู่กี่คำ คำตอบคือ 8
ดูตัวอย่างเพิ่มเติมที่ tdlp: Examples using grep
wc
ใช้ในการนับคำ, นับบรรทัด และนับจำนวนหน่วยความจำที่ถูกใช้ในไฟล์ เป็นไบต์ตัวอย่าง
$ wc --words --lines --bytes /tmp/dummy 3 3 22 /tmp/dummy
sort
ใช้จัดเรียงข้อมูลสมมุติว่าไฟล์ /tmp/dummy มีเนื้อว่า
b c a
ตัวอย่างคำสั่งคือ
$ sort /tmp/dummy a b c
คือการนำเอาเนื้อไฟล์ /tmp/dummy
มาจัดเรียง และแสดงผลออกทางจอภาพ
bc
เป็นเครื่องคิดเลขแบบใช้บรรทัดคำสั่งตัวอย่างเช่น
$ echo 1+1 1+1 $ echo 1+1 | bc 2
หรือใช้แบบโต้ตอบ
$ bc -q 1 == 5 0 0.05 == 0.05 1 5 != 5 0 2 ^ 8 256 sqrt(9) 3 while (i != 9) { i = i + 1; print i } 123456789 quit
tput
ใช้ในการตั้งค่าหรือแสดงค่าต่าง ๆ ของเทอร์มินัลเช่น
$ tput cup 10 4
เลื่อนเคอร์เซอร์ไปยังบรรทัดที่ 10 สดมภ์ที่ 4
$ tput reset
ล้างจอภาพ มีค่าเท่ากับคำสั่ง clear
$ tput cols
แสดงจำนวนสดมภ์ (ความกว้าง) ของจอเทอร์มินัล
- Printer-friendly version
- Log in or register to post comments
- 5674 reads
Recent comments