Bagaimana saya bisa menggunakan grep
hanya untuk menunjukkan nama file (tidak ada kecocokan in-line) di Linux?
Saya biasanya menggunakan sesuatu seperti:
find . -iname "*php" -exec grep -H myString {} \;
Bagaimana saya bisa mendapatkan nama file (dengan path), tetapi tanpa kecocokan? Apakah saya harus menggunakan xargs
? Saya tidak melihat cara untuk melakukan ini di grep
halaman manual saya .
vim $(grep -rl Something app/)
Jawaban:
Opsi standar
grep -l
(yaitu huruf kecil L) dapat melakukan ini.Dari standar Unix :
Anda juga tidak perlu
-H
dalam hal ini.sumber
grep -nrl "some text" .
ketika mencari teks dalam satu set subfolder secara rekursifDari
grep(1)
halaman manual:sumber
Untuk pencarian file sederhana, Anda dapat menggunakan grep
-l
dan-r
opsi:Semua pencarian dilakukan dengan grep. Tentu saja, jika Anda perlu memilih file pada beberapa parameter lain, temukan adalah solusi yang benar:
The
execdir
pilihan membangun setiap perintah grep per setiap direktori, dan merangkai nama file menjadi hanya satu perintah (+
).sumber
Pertanyaan Anda Bagaimana saya bisa mendapatkan nama-file saja (dengan path)
Contoh sintaks Anda ditemukan. -iname "* php" -exec grep -H myString {} \;
Saran perintah saya
Output dari perintah ini di OS Linux saya:
Saat Anda membutuhkan nama file dengan path, selamat menikmati!
sumber