Saya memiliki banyak file .html di direktori. Saya ingin melihat-lihat setiap file dan mencocokkan pola (MD5). Semua itu cukup mudah. Masalahnya adalah saya perlu tahu file apa yang cocok dengan yang ditemukan.
cat *.html | grep 75447A831E943724DD2DE9959E72EE31
Hanya mengembalikan konten halaman HTML tempat kecocokan ditemukan, tetapi tidak memberi tahu saya file tempat ditemukannya. Bagaimana saya bisa mendapatkan grep untuk menunjukkan kepada saya nama file tempat kecocokan saya ditemukan?
command-line
grep
Menjadi teman saya
sumber
sumber
Jawaban:
sumber
-H
tidak perlu.cat
.cat
berarti gabungan. Jika Anda menggabungkan semua file ke file sebelum meneruskannyagrep
,grep
lihat hanya satu file input standar besar dan tidak bisa (singkat melakukan ramalan) memberi Anda kembali informasi tentang file tunggal. Lihat?. Cyrus, bagaimana dengan menjelaskan ini dalam jawabannya?Saya menggunakan ini sepanjang waktu untuk mencari file yang berisi string, secara berulang dalam direktori (itu berarti, melintasi sub folder sub apa saja)
grep -Ril "yoursearchtermhere"
R
adalah mencari secara rekursif (mengikuti symlink)i
adalah untuk membuatnya tidak sensitifl
hanya untuk daftar nama file.jadi menjawab pertanyaan Anda
grep -l '75447A831E943724DD2DE9959E72EE31' *.html
akan dilakukan tetapi Anda bisa melakukannyagrep -Ril '75447A831E943724DD2DE9959E72EE31'
untuk mencari string itu, tidak peka huruf besar-kecil, dalam file apa pun dalam subfolder apa punsumber
stdin
( grep: warning: pencarian stdin rekursif, input stdin rekursif apa pun artinya :-). Dengan kata lain:grep -Ril 'texttofind' *
grep -RiH 'pattern'
menunjukkan nama file dan baris yang cocokAnda bisa mencoba ini
sumber
Alternatif untuk
Melakukan di atas akan mencari secara rekursif dalam folder dan subfolder dan mencetak path file ...
sumber
Jawaban yang diposting oleh Cyrus benar-benar tepat dan adalah The Right Way TM untuk melakukannya
grep
jika kita hanya perlu menemukan file . Ketika nama file perlu penguraian atau operasi tambahan pada nama file yang cocok, kita dapat menggunakanwhile
loop denganif
pernyataan. Berikut adalah contoh di mana daftar nama file berasal dari strukturfind
+ yang sangat umum digunakanwhile
untuk penguraian nama file yang aman.sumber
grep
's--include
bendera.