Jawaban:
grep -R
opsi melakukan ini:
grep -R "superuser" .
EDIT: untuk mencari file .mp3 saja dan mengembalikan nama mereka (bukan konten yang cocok, karena mereka bukan file teks), gunakan find untuk mendapatkan daftar .mp3 dan kemudian gunakan xargs untuk meneruskannya grep -l
:
find . -name "*.mp3" -print0 | xargs -0 grep -l "superuser"
Jika versi Anda menemukan dukungan -exec ... +
(dan setidaknya OS X terbaru), Anda dapat menemukan run grep secara langsung:
find . -name "*.mp3" -exec grep -l "superuser" {} +
-l
dan -m1
, tapi saya tidak setuju -F
menjadi lebih cepat (meskipun itu yang menjadi kepanjangan dari F). Grep tradisional sebenarnya berjalan tercepat (pada file besar / banyak) di -E
mode, sejak itu dikompilasi pola menjadi DFA - waktu startup yang lama untuk kompilasi, tetapi begitu itu dilakukan sangat cepat. -F
mode mungkin cepat jika versi grep Anda menggunakan algoritma Boyer-Moore (bukan algo naif lama), tetapi grep paling modern IME adaptif dan akan memilih mode tercepat secara otomatis, tidak peduli apa pun flag yang Anda gunakan.
-F
untuk mempercepat pencarian string tetap;-l
cukup tampilkan nama file, bukan baris yang cocok (berguna untuk file biner);-m 1
berhenti membaca file setelah pertandingan pertama.