ag เป็นโปรแกรมค้นหาแบบเดียวกันกับ grep ซึ่งเคลมว่าเร็วกว่า grep แต่ตอนนี้ก็มีโปรแกรมแนวนี้ออกมาบอกว่าเร็วกว่า ag หมายตัวเหมือนกัน อย่างไรก็ตามผมติดใช้งาน ag ไปแล้ว และความเร็วก็ไม่ได้ต่างกันมากเท่าไหร่ เลยใช้งาน ag เป็นหลัก เพราะมันใช้ง่ายดี คือมันทำ recursive ลงในแต่ละ directory ย่อยๆให้เอง
วันนี้จะมาสรุป options ที่ใช้บ่อยๆของ ag เอาไว้หน่อย
กำหนดว่าจะค้นแบบ case sensitive หรือ insensitive
-s
ถ้าต้องการ case sensitive
-i
ถ้าต้องการ case insensitive รู้สึกว่าถ้าไม่ใส่ option อะไร จะได้ตัวนี้เป็น default
invert match ค้นหาบรรทัดที่ไม่มี pattern ที่ระบุแทน
ปกติเราใส่ pattern ก็เพื่อค้นหาสิ่งที่ match ตามที่ระบุ แต่ถ้าต้องการค้นบรรทัดที่ไม่ match ให้เราใช้ option -v
ดู state ของการค้นหา
-stats
จะบอกให้ ag พิมพ์ข้อมูลสรุปการค้นหาให้ด้วย ส่วน -stats-only
คือให้แสดงแค่ stat บรรทัดที่ค้นเจอไม่ต้องแสดง ส่วนหน้าตา stat เป็นแบบนี้
6075 matches
927 files contained matches
6072 files searched
65739518 bytes searched
0.076201 seconds
ให้แสดงผล บรรทัดรอบๆของบรรทัดที่ค้นเจอ
บางทีเราก็อยากให้ว่าบรรทัดก่อนหน้าและหลัง ของบรรทัดที่ค้นเจอนั้นมันเป็นยังไงบ้าง เราสามารถใช้ 3 options นี้ช่วยได้
-
-A [LINES]
บอกให้แสดงผลบรรทัดหลังบรรทัดที่เจอ ใส่จำนวนบรรทัดที่ต้องการหลัง -A ได้เลย ถ้าไม่ใส่ default คือ 2 -
-B [LINES]
บอกให้แสดงผลบรรทัดก่อนหน้าบรรทัดที่เจอ ใส่จำนวนบรรทัดที่ต้องการหลัง -B ได้เลย ถ้าไม่ใส่ default คือ 2 -
-C [LINES]
บอกให้แสดงผลทั้งบรรทัดก่อนหน้าและหลังบรรทัดที่เจอ ใส่จำนวนบรรทัดที่ต้องการหลัง -C ได้เลย ถ้าไม่ใส่ default คือ 2
ระบุ pattern ของไฟล์ที่ต้องการค้นด้วย
ปกติ ag มันก็จะค้นทุกไฟล์ แต่ถ้าเราอยากให้ค้นเฉพาะไฟล์ที่ต้องการ ก็ให้ใส่ option -G PATTERN
เพื่อใส่ pattern ของไฟล์ที่ต้องการให้มันค้นได้ ถ้าชื่อไฟล์ไม่ตรงตามนี้ก็ข้ามไป
ส่วน option อื่นๆที่ไม่ค่อยได้ใช้บ่อยๆ แต่อยากรู้ว่ามีอะไรบ้างให้สั่ง man ag
เพื่อดูคู่มือเต็มๆได้เลย
Top comments (0)