Mencoba mencari direktori file untuk nama file yang dimulai dengan "h" dan mengandung "enu"?
Sejauh ini yang saya dapat, saya hanya tidak tahu bagaimana menangani kedua pernyataan grep dalam satu baris perintah?
find fs282/path/web/en_US.dic -exec grep "^h" {} \;
fs282/path/web/en_US.dic
file (?) Dengan ini, atau apakah itu direktori?grep
yang saya temukan membingungkan, karenagrep
terutama digunakan untuk melihat isi file.Jawaban:
Untuk melihat nama file, gunakan
-name
kondisifind
. Itu harus mengambil pola nama file biasa, jadih*enu*
cocok dengan yang Anda inginkan.grep
sebagai gantinya akan melihat isi file, baris demi baris, jadi ini akan mencari baris yang cocok dengan pola:(Outputnya adalah garis, bukan hanya nama file.)
grep
mengharapkan ekspresi reguler sebagai kebalikan dari wildcard untuk-name
. Juga,grep
cari korek api di dalam garis sebagai lawan dari korek api penuh dengan-name
, maka itu^
untuk jangkar pola di awal baris. The/dev/null
hanya ada untuk memastikan nama file selalu dicetak untuk setiap baris yang cocok, bahkan ketika hanya ada satu file yang cocok. Dengan implementasi GNUgrep
, seseorang dapat menggunakan-H
opsi sebagai gantinya.sumber