ค้นหาคำที่ต้องการในทุกๆ ไฟล์ด้วยคำสั่ง grep
RSS Feedช่วงนี้งานเข้าเยอะมาก พอดีมีงานนึงที่ต้องไล่โค้ดจากเว็บเก่าที่เขียนได้เละมากๆ ไม่มีโครงสร้าง และมีไฟล์อยู่มั่วเต็มไปหมด ปรากฎว่าเราต้องการดูคลาสตัวนึงจากในบรรดาเป็นร้อยๆ ไฟล์จะทำอย่างไร?
ให้เราเปิด Terminal แล้ว cd ไปที่โฟลเดอร์ที่ต้องการหาไฟล์ แล้วพิมพ์คำสั่ง (สมมติว่าชื่อคลาสที่ต้องการค้นหามีชื่อว่า MyClass)
grep "MyClass" *
คำสั่งข้างบนจะค้นหาแค่ทุกๆ ไฟล์จากในไดเร็กทอรี่ปัจจุบันเท่านั้น แต่จะไม่ค้นหาในไดเร็กทอรี่ย่อยๆ ลงไป แต่ถ้าต้องการเพิ่มเงื่อนไขเป็น ค้นหาในทุกๆ ไดเร็กทอรี่ย่อยด้วย และค้นหาเฉพาะไฟล์ .php ให้พิมพ์คำสั่ง
grep -R "MyClass" *.php
ขอตัวไปปั่นงานต่อก่อนล่ะครับ
Update: จากคอมเมนท์ของ hiddenmin ถ้าเราเพิ่ม -n จะทำให้เห็นว่าข้อความที่เราค้นหาอยู่บรรทัดไหนด้วยนะครับ
grep -Rn "MyClass" *.php
- 1146 reads


-n ด้วยก็ดีนะเธอ
จะได้รู้ว่าอยู่บันทัดใหน
ต้องเธอว์ด้วยสิเธอว์ ไม่อินเทรนด์เลย :P
ปล. เพิ่มให้แล้วนะเธอว์
Post new comment