Cara menemukan semua file yang berisi teks tertentu di Linux

Cara menemukan semua file yang berisi teks tertentu di Linux

Tutorial ini akan mengajari Anda cara mencari file secara rekursif yang berisi string tertentu di Linux menggunakan baris perintah. Tutorial ini menggunakan perintah 'GREP' untuk mencari string di file. Atau, Anda dapat menggunakan perintah temukan untuk mencari file dengan konten tertentu.

Sintaks dasar untuk mencari teks dengan perintah grep:

grep -rl "pencarian -string"/path/to/serch/dir
1grep -rl "pencarian -string"/path/to/serch/dir

Perintah GREP menawarkan opsi berguna lainnya untuk menemukan teks tertentu dalam sistem file.

  • -R, --Rekursif: Cari file secara rekursif
  • -R,--Dereference-Recursive: Cari file secara rekursif dan ikuti symlinks
  • --termasuk = file_pattern: Cari hanya file yang cocok dengan file_pattern
  • --Kecualikan = File_Pattern: Lewati file dan direktori yang cocok dengan file_pattern
  • --Kecualikan-From = File: Lewati file yang cocok dengan pola file apa pun dari file
  • --Kecualikan-Dir = Pola: Direktori pola yang cocok itu akan dilewati.
  • -L, --Files-Without-Match: Cetak nama file yang tidak cocok
  • -L,-file-dengan-cocok: Cetak string yang berisi nama file
  • -Saya, --Ignore-Case: Abaikan kasus string pencarian
  • -e, --regexp = pola: Gunakan pola untuk mencari atau menentukan beberapa string pencarian
  • -W, --Word-Regexp: memaksa untuk mencocokkan seluruh kata

Ada beberapa cara untuk menggunakan perintah grep untuk mencari teks. Mari kita bahas beberapa contoh pencarian teks/string di sistem file.

  1. Cari string tunggal di semua file
  2. Perintah contoh di bawah ini akan mencari string "error" di semua file di /var /log direktori dan sub-direktorinya.

    grep -rlw "error" /var /log  
    Cari teks spesifik di semua file menggunakan baris perintah

  3. Cari beberapa string di semua file
  4. Itu -e Switch juga dapat digunakan untuk menemukan banyak string. Ini sebanding dengan Egrep program. Contoh di bawah ini akan mencari "Kesalahan" Dan "Peringatan" di semua file di /var/log direktori dan subdirektorinya.

    grep -rlw -e "error" -e "peringatan" /var /log  
    Cari beberapa string di semua file dengan baris perintah

  5. Cari string di file tertentu
  6. Anda dapat mencari string dalam file yang sesuai dengan kriteria nama file. Perintah berikut mencari "Kesalahan" dalam file dengan .catatan ekstensi di /var/log direktori dan sub-direktorinya.

    grep -rlw --include = "*.log "-e" error " /var /log  

  7. Mengecualikan beberapa file dari pencarian
  8. Anda dapat menggunakan --mengecualikan Opsi di Find untuk mengecualikan beberapa file yang cocok dengan kriteria nama file tertentu. Misalnya, Anda dapat mengecualikan file dengan .txt perpanjangan.

    grep -rlw --exclude = "*.txt "-e" tecadmin " /var /log  

  9. Mengecualikan beberapa direktori dari pencarian
  10. Anda juga dapat melewatkan mencari direktori tertentu. Misalnya, jangan mencari file string di folder apa pun Apache2 atas namanya.

    grep -rlw --Exclude-dir = "*apache2*" -e "tecadmin" /var /log  

Kesimpulan

Anda telah belajar cara mencari teks tertentu dalam file pada sistem file linux dalam tutorial ini.