หากฉันเรียกใช้grep foo bar.txt
grep จะเน้นการ "foo" ในbar.txt
แต่ละครั้ง แต่บางครั้งฉันต้องการใช้find
เพื่อตรวจสอบว่าไฟล์ grep ค้นหา ดังนั้นฉันจะทำสิ่งนี้:
find . -iname "*.abc" | xargs grep foo
หรือสิ่งนี้:
find . -iname "*.abc" -exec grep foo {} \;
ในทั้งสองกรณี grep ค้นหาเหตุการณ์ "foo" ในไฟล์ที่ระบุอย่างถูกต้อง แต่เอาต์พุตไม่มีการเน้นสีใด ๆ
ฉันจะใช้find
เพื่อเลือกไฟล์สำหรับ grep เพื่อค้นหาโดยไม่ไฮไลต์ได้อย่างไร
ฉันใช้ Gnome Terminal 3.4.1.1 บน Ubuntu 12.04 โดยมี bash เป็น shell ของฉัน
grep
เพียงครั้งเดียวและอนุญาตให้มีช่องว่างในชื่อไฟล์:find . -iname "*.abc" -print0 | xargs -0 cat | grep foo