DEV Community

Weerasak Chongnguluam
Weerasak Chongnguluam

Posted on • Edited on

3

Options ของโปรแกรม ag ที่น่าสนใจ

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
Enter fullscreen mode Exit fullscreen mode

ให้แสดงผล บรรทัดรอบๆของบรรทัดที่ค้นเจอ

บางทีเราก็อยากให้ว่าบรรทัดก่อนหน้าและหลัง ของบรรทัดที่ค้นเจอนั้นมันเป็นยังไงบ้าง เราสามารถใช้ 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 เพื่อดูคู่มือเต็มๆได้เลย

Buy Me A Coffee

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

Top comments (0)

The Most Contextual AI Development Assistant

Pieces.app image

Our centralized storage agent works on-device, unifying various developer tools to proactively capture and enrich useful materials, streamline collaboration, and solve complex problems through a contextual understanding of your unique workflow.

👥 Ideal for solo developers, teams, and cross-company projects

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay