*.c
รูปแบบที่ได้รับการประเมินจากเปลือกของคุณ ls *.c
ซึ่งจะใช้กับไดเรกทอรีปัจจุบันเช่นเดียวกับที่คุณจะใช้
ฉันคิดว่าสิ่งที่คุณต้องการคือการค้นหาไฟล์ทั้งหมดที่ตรงกับ*.c
รูปแบบ (ซ้ำ) และgrep
ค้นหาคุณในนั้น นี่คือวิธีในการทำเช่นนั้น:
find . -name "*.c" -print0 | xargs --null grep -l search-pattern
จะใช้เพื่อผนวกผลการค้นหาโดยxargs
find
หรือใช้-exec
ตัวเลือกในการค้นหาเช่น:
find . -name "*.c" -exec grep -l search-pattern "{}" \;
นอกจากนี้ผมไม่แน่ใจว่าถ้าคุณต้องการจริงๆตัวเลือกในการ-l
grep
มันจะหยุดในนัดแรก:
-l, --files-with-matches
Suppress normal output; instead print the name of each
input file from which output would normally have been
printed. The scanning will stop on the first match.
(-l is specified by POSIX.)
--include=GLOB
ตัวเลือก ร่วมกับตัวเลือก recursivefind
นี้จะมีประสิทธิภาพมากและไม่จำเป็นต้อง ดี!