Bir dosya adı mı yoksa dosya içinde bir kelime mi arıyorsunuz? grep, dosyaların içinde arama yapar, bu da istediğiniz gibi görünür.
grep düzenli ifadeler kullanır - aslında, "re" kısmı bunun anlamıdır. Bu nedenle, normal bash joker karakterlerini kullanmaz; yani, abc*
abc ile başlayan kelimeleri bulamaz, ab ile başlayan kelimeleri, sonra sıfır veya daha fazla c'yi takip eder. Ama evet, eğer ona sadece bir desen verirseniz, onu tam bir kelime bilgisi olmadan her yerde bulur. Tüm kelimeleri bulmak istiyorsanız, bunu söylemek için düzenli bir ifade oluşturmanız gerekir.
Ancak, çoğu komut gibi, dosya adlarını komutun sonuna koymanız gerekir, bu nedenle örneğin sadece orada oturup dosya adını bekler.
@Plink'in dediği gibi,
grep -r -o -i "your_string" *
(veya *.*
veya başka bir dosya türü). Hatalar göz ardı edilebilir. Çok fazla hata 2>/dev/null
alıyorsanız, stderr öğesini boş bir cihaza yönlendirecek olan sonuna ekleyebilirsiniz .
grep -r -o -i "your_string" *
("tırnak işaretleri ile)