Cara mencari rentetan atau perkataan tertentu dalam fail dan direktori

Cara mencari rentetan atau perkataan tertentu dalam fail dan direktori

Adakah anda ingin mencari semua fail yang mengandungi perkataan atau rentetan teks tertentu pada sistem linux keseluruhan anda atau direktori yang diberikan. Artikel ini akan membimbing anda tentang cara melakukannya, anda akan belajar bagaimana untuk menggali secara rekursive melalui direktori untuk mencari dan menyenaraikan semua fail yang mengandungi rentetan teks yang diberikan.

Cara mudah untuk mengerjakan ini adalah dengan menggunakan alat carian corak grep, adalah utiliti baris arahan yang kuat, cekap, boleh dipercayai dan paling popular untuk mencari corak dan kata-kata dari fail atau direktori pada sistem seperti Unix.

Baca juga: 11 linux linux 'grep' perintah pada kelas watak dan ekspresi kurungan

Perintah di bawah akan menyenaraikan semua fail yang mengandungi garis dengan teks "check_root", Secara rekursif dan agresif mencari ~/bin direktori.

$ grep -rw ~/ bin/ -e 'check_root' 
Cari perkataan dalam direktori

Dimanakah -R pilihan memberitahu grep Untuk membaca semua fail di bawah setiap direktori, secara rekursif, mengikuti pautan simbolik hanya jika mereka berada di baris arahan dan pilihan -w mengarahkannya untuk memilih hanya baris yang mengandungi perlawanan yang membentuk keseluruhan perkataan, dan -e digunakan untuk menentukan rentetan (corak) untuk dicari.

Anda harus menggunakan arahan sudo semasa mencari direktori atau fail tertentu yang memerlukan kebenaran root (kecuali jika anda menguruskan sistem anda dengan akaun root).

 $ sudo grep -rw / -e 'check_root' 

Untuk mengabaikan perbezaan kes menggunakan -i pilihan seperti yang ditunjukkan:

$ grep -riw ~/ bin/ -e 'check_root' 

Sekiranya anda ingin mengetahui garis yang tepat di mana rentetan teks wujud, sertakan -n pilihan.

$ grep -rinw ~/ bin/ -e 'check_root' 
Cari rentetan dengan nombor talian

Dengan mengandaikan terdapat beberapa jenis fail dalam direktori yang ingin anda cari, anda juga boleh menentukan jenis fail yang akan dicari misalnya, dengan lanjutan mereka menggunakan --termasuk pilihan.

Contoh ini mengarahkan grep untuk hanya melihat melalui semua .sh fail.

$ grep -rnw --clude = \*.sh ~/ bin/ -e 'check_root' 

Di samping itu, adalah mungkin untuk mencari lebih daripada satu corak, menggunakan arahan berikut.

$ grep -rinw ~/ bin/ -e 'check_root' -e 'netstat' 
Cari pelbagai perkataan dalam fail

Itu sahaja! Sekiranya anda mengetahui apa-apa helah baris arahan lain untuk mencari rentetan atau perkataan dalam fail, kongsi dengan kami atau tanya sebarang pertanyaan mengenai topik ini, gunakan borang komen di bawah.