Apakah Anda mencari nama file atau kata di dalam file? grep mencari di dalam file, yang tampaknya seperti yang Anda inginkan.
grep menggunakan ekspresi reguler - pada kenyataannya, itulah yang merupakan bagian dari "re". Jadi, itu tidak menggunakan wildcard bash normal; yaitu, abc*
tidak akan menemukan kata-kata yang dimulai dengan abc, ia akan menemukan kata-kata yang dimulai dengan ab, kemudian nol atau lebih yang mengikuti c. Tapi ya, jika Anda hanya memberikan pola, itu akan menemukannya di mana saja, tanpa sepengetahuan seluruh kata. Jika Anda ingin menemukan seluruh kata, Anda perlu membuat ekspresi reguler untuk mengatakannya.
Tapi, seperti kebanyakan perintah, Anda harus meletakkan nama file di akhir perintah, jadi contoh Anda hanya akan duduk di sana dan menunggu nama file.
Seperti yang dikatakan @plink, gunakan
grep -r -o -i "your_string" *
(atau *.*
, atau filespec lainnya). Kesalahan bisa diabaikan. Jika Anda mendapatkan banyak kesalahan, Anda dapat menambahkan 2>/dev/null
sampai akhir, yang akan mengarahkan stderr ke perangkat nol.
grep -r -o -i "your_string" *
(dengan "tanda kutip).