GREP COMMAND และ REGULAR EXPRESSION

GREP COMMAND และ REGULAR EXPRESSION

ยังคงต่อกับ grep command โดยที่เราจะเรียนรู้กันเพิ่มเติมกับ Regular Expression ซึ่งจริงๆแล้วเราสามารถใช้ regular expression นอกเหนือจาก grep ได้เช่นกัน

Regular Expression

Regular Expression หรือเรียกสั้นๆว่า regex คือการใช้อักขระพิเศษผสมกับตัวอักษรและตัวเลขเพื่อใช้ในการค้นหา pattern ของคำที่ต้องการ โดยจะมีลักษณะของการใช้งานเป็น
Symbolคำอธิบาย
.แทนตัวอักษรใดๆ
^ตรงจุดเริ่มต้นของ string
$ตรงจุดสุดท้ายของ string
*ตรงตัวอักษรใดๆจำนวนครั้งใดๆ
\แทนอักขระพิเศษ
()การทำ group regular expression
?ตรงตัวอักษรแค่ตัวเดียวเท่านั้น
{n}ตรงกับตัวอักษรที่ปรากฏขึ้น n ครั้ง
{n,m}ตรงกับตัวอักษรที่ปรากฏขึ้น n ครั้ง ไม่มากกว่า m ครั้ง
{n,}ตรงกับตัวอักษรที่ปรากฏขึ้น n ครั้งหรือมากกว่านั้น
+ตรงกับการปรากฏหนึ่งครั้งหรือมากกว่านั้นกับตัวอักษรก่อนหน้า
?ตรงกับการปรากฏ 0 ครั้งหรือหนึ่งครั้งกับตัวอักษรก่อนหน้า
[]ตรงกับตัวอักษรที่อยู่ภายใน []
[^]ตรงกับตัวอักษรที่ไม่อยู่ภายใน []
[c-f]ตรงกับตัวอักษรแบบเป็น range อย่างในตัวอย่างจะเป็น c-f หมายถึง c,d,e,f นั่นเอง
|เป็น OR operation

ตัวอย่างของการใช้งาน regular expression กับ grep

เราจะใช้ egrep command ในการค้นหาข้อมูล โดยเนื้อหาในไฟล์ word นี้มีเนื้อหาเป็น
Screen Shot 2562-08-24 at 10.40.24.png
  • egrep . wordจะตรงหมดเพราะ . แทนค่าตัวอักษรใดๆ
Screen Shot 2562-08-24 at 10.41.53.png
  • egrep ^a wordหาเฉพาะคำที่ขึ้นต้นด้วย ‘a’
Screen Shot 2562-08-24 at 10.43.42.png
  • egrep n$ wordหาคำที่มี n ลงท้ายเท่านั้น
Screen Shot 2562-08-24 at 10.44.52.png
  • egrep pt{1} wordหาคำที่มี p และ t ติดกัน จำนวน 1 ครั้ง
Screen Shot 2562-08-24 at 10.48.33.png
  • egrep o+n wordหาตัว n ที่มี o นำหน้า
Screen Shot 2562-08-24 at 10.50.03.png
  • egrep o?n wordหาตัวที่มี n แล้วมี o นำหน้าจำนวนกี่ครั้งก็ได้
Screen Shot 2562-08-24 at 10.51.47.png
  • egrep [b-e]{1} wordหาตัวอักษรตั้งแต่ b-e จำนวน 1 ตัวอักษรในคำใดๆ
Screen Shot 2562-08-24 at 10.54.07.png
  • egrep "[d-e]|[u-z]" wordใช้หาคำที่ตัวอักษร d-e หรือ u-z
Screen Shot 2562-08-24 at 10.56.19.png

Comments

Popular Posts