ด้วย GNU หรือ FreeBSD หรือ NetBSD หรือ OpenBSD (และอื่น ๆ ที่อาจเกิดขึ้น) awk:
find . -type f -exec awk '
/^#!.*python/{print FILENAME}
{nextfile}' {} +
จะดูที่บรรทัดแรกของแต่ละไฟล์เท่านั้นและจะเรียกใช้จำนวนน้อยawkที่สุดเท่าที่จำเป็น
nextfileคำสั่งดังกล่าวไม่ได้มาตรฐาน แต่ที่พบในการใช้งานไม่กี่รวมทั้ง GNU หนึ่ง (ซึ่งอาจจะเป็นที่ที่มันมาจาก)
ในขณะที่รหัสด้านบนจะปรากฏขึ้นเพื่อใช้งานในการใช้งานอื่น ๆ เช่นกันnextfileคำสั่งจะไม่ทำอะไรที่นั่น (จะได้รับการยอมรับว่าเป็นนิพจน์ที่ประกอบด้วยnextfileตัวแปรที่ไม่ได้ตั้งค่า) ดังนั้นนั่นหมายความว่าไฟล์ทั้งหมดจะถูกอ่านอย่างสมบูรณ์ พิมพ์สำหรับทุกบรรทัดที่ตรงกัน
หากการawkสนับสนุนของคุณFNR(เช่น POSIX awks ทำ แต่ไม่ใช่ต้นฉบับawkดังนั้นบน Solaris /usr/xpg4/bin/awkและไม่ใช่/usr/bin/awk) และไม่ใช่nextfileคุณสามารถเขียนได้:
find . -type f -exec awk 'FNR == 1 && /^#!.*python/{print FILENAME}' {} +
ซึ่งยังคงทำงานน้อยawkที่สุดเท่าที่จะเป็นไปได้ แต่จะอ่านไฟล์ทั้งหมด
อีกหนึ่งทางเลือกที่จะหลีกเลี่ยงการอ่านไฟล์ได้อย่างเต็มที่และที่จะทำงานร่วมกับทุกคนawkและfindแต่จะหมายถึงการทำงานอย่างใดอย่างหนึ่งawkต่อไฟล์จะเป็น:
find . -type f -exec awk '
/^#!.*python/{r=1};{exit}
END {exit(1-r)}' {} \; -print
grep -lจะหยุดอ่านไฟล์ทันทีที่พบการแข่งขันสำหรับไฟล์ที่ไม่มีข้อมูลตรงกันมันจะอ่านไฟล์ทั้งหมด นอกจากนี้ยังจะพบการจับคู่ที่ตรงกลางไฟล์เช่นสามารถจับคู่sharไฟล์ที่มีสคริปต์ไพ ธ อนได้