Kemungkinan Duplikat:
Bagaimana saya bisa membaca file sumber untuk beberapa teks?
Apa perintah untuk mencari teks tertentu dalam tipe file tertentu, secara rekursif, di bawah direktori saat ini?
Kemungkinan Duplikat:
Bagaimana saya bisa membaca file sumber untuk beberapa teks?
Apa perintah untuk mencari teks tertentu dalam tipe file tertentu, secara rekursif, di bawah direktori saat ini?
ack-grep
, Anda dapat menggunakan contoh dalam pertanyaan sebagai awal (seperti yang saya katakan), yaitufind | xargs | grep
baris. Untuk keluaran spesifik,man grep
selalu berguna untuk dibaca.grep -r --include=*.<type> "<string>" .
, yang berhasil. Sayangnya, halaman manual tidak terlalu mudah menyebutkan titik yang tertinggal.Jawaban:
Perintah ini menjalankan find di direktori lokal (.) Untuk setiap file dengan nama yang cocok dengan pola * .extension, kemudian jalankan grep untuk "string" pada hasil find . Perhatikan bahwa find secara inheren bersifat rekursif. Selama Anda dapat membedakan file yang Anda inginkan dari file yang Anda tidak berdasarkan nama, ini akan bekerja untuk Anda.
sumber
print0
opsi untuk lebih aman.find -print0
tidak akan membantu, juga gunakanxargs -0
:find . -type f -name "*.ext" -print0 | xargs -0 grep "string"
Untuk daftar nama file, nomor baris dalam file yang ditentukan dan baris teks muncul:
Ini hanya akan berjalan di direktori saat ini, tetapi akan memformatnya dengan baik untuk Anda.
sumber