GNU/Linux >> Belajar Linux >  >> Linux

Cara Menemukan String atau Word 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 belajar 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, adalah utilitas baris perintah yang kuat, efisien, andal, dan paling populer untuk menemukan pola dan kata-kata dari file atau direktori pada sistem mirip Unix.

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

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

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

Dimana -R opsi memberi tahu grep untuk membaca semua file di bawah setiap direktori, secara rekursif, mengikuti tautan simbolis hanya jika mereka berada di baris perintah dan opsi -w memerintahkannya untuk memilih hanya baris yang berisi kecocokan yang membentuk seluruh kata, 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 jika Anda mengelola sistem dengan akun root).

 
$ sudo grep -Rw / -e 'check_root'	

Untuk mengabaikan perbedaan huruf besar gunakan -i pilihan seperti yang ditunjukkan:

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

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

$ 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, dengan ekstensinya menggunakan --include pilihan.

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

$ 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 tentang topik ini, gunakan formulir komentar di bawah.


Linux
  1. Bagaimana Cara Mencari Di File Tertentu yang Sesuai Dengan Pola?

  2. Bagaimana Menemukan Banyak String Dalam File??

  3. Cara Menemukan dan Menghapus Direktori dan File Kosong di Unix

  1. grep rekursif:mengecualikan direktori tertentu

  2. Cara menangkap kata tertentu dan mengambil teks

  3. Bagaimana cara menemukan semua file dan direktori yang dapat ditulis oleh pengguna tertentu?

  1. Cara Menemukan dan Menghapus Direktori dan File Kosong di Linux

  2. Cara mendaftar semua file dan direktori secara rekursif

  3. Bagaimana cara mendaftar jenis file tertentu dalam direktori rekursif di shell?