Cara Menemukan String atau Kata Tertentu di File dan Direktori


Apakah Anda ingin menemukan semua file yang berisi kata atau string teks tertentu di seluruh sistem Linux Anda atau direktori tertentu. Artikel ini akan memandu Anda tentang cara melakukannya, Anda akan mempelajari cara menggali direktori secara rekursif untuk menemukan dan membuat daftar semua file yang berisi string teks tertentu.

Cara sederhana untuk mengatasinya adalah dengan menggunakan alat pencarian pola grep, yang merupakan utilitas baris perintah yang kuat, efisien, andal, dan paling populer untuk menemukan pola dan kata dari file atau direktori pada sistem mirip Unix.

Baca Juga: 11 Perintah 'Grep' Linux Tingkat Lanjut pada Kelas Karakter dan Ekspresi Braket

Perintah di bawah ini akan mencantumkan semua file yang berisi baris dengan teks “check_root ”, dengan mencari direktori ~/bin secara rekursif dan agresif.

grep -Rw ~/bin/ -e 'check_root'

Dimana opsi -R memberitahu grep untuk membaca semua file di bawah setiap direktori, secara rekursif, mengikuti tautan simbolik hanya jika mereka berada di baris perintah dan opsi -w< memerintahkannya untuk memilih hanya baris-baris yang berisi kecocokan yang membentuk kata utuh, dan -e digunakan untuk menentukan string (pola) yang akan dicari.

Anda harus menggunakan perintah sudo saat mencari direktori atau file tertentu yang memerlukan izin root (kecuali Anda mengelola sistem dengan akun root).

 
sudo grep -Rw / -e 'check_root'	

Untuk mengabaikan perbedaan huruf besar/kecil, gunakan opsi -i seperti yang ditunjukkan:

grep -Riw ~/bin/ -e 'check_root'

Jika Anda ingin mengetahui baris persis di mana string teks tersebut berada, sertakan opsi -n.

grep -Rinw ~/bin/ -e 'check_root'

Dengan asumsi ada beberapa jenis file dalam direktori yang ingin Anda cari, Anda juga dapat menentukan jenis file yang akan dicari misalnya, berdasarkan ekstensinya menggunakan opsi --include.

Contoh ini menginstruksikan grep untuk hanya memeriksa semua file .sh.

grep -Rnw --include=\*.sh ~/bin/ -e 'check_root'

Selain itu, dimungkinkan untuk mencari lebih dari satu pola, menggunakan perintah berikut.

grep -Rinw ~/bin/ -e 'check_root' -e 'netstat'

Itu dia! Jika Anda mengetahui trik baris perintah lain untuk menemukan string atau kata dalam file, bagikan dengan kami atau ajukan pertanyaan apa pun mengenai topik ini, gunakan formulir komentar di bawah.