Cara mencari semua fail yang mengandungi teks tertentu di linux

Cara mencari semua fail yang mengandungi teks tertentu di linux

Tutorial ini akan mengajar anda cara mencari fail secara rekursif yang mengandungi rentetan tertentu pada Linux menggunakan baris arahan. Tutorial ini menggunakan arahan 'grep' untuk mencari rentetan dalam fail. Sebagai alternatif, anda boleh menggunakan arahan Cari untuk mencari fail dengan kandungan tertentu.

Sintaks asas untuk mencari teks dengan arahan grep:

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

Perintah Grep menawarkan pilihan berguna lain untuk mencari teks tertentu dalam sistem fail.

  • -r, -recursive: Cari fail secara berulang
  • -R,--dereference-recursive: Cari fail secara rekursif dan ikut symlinks
  • --termasuk = file_pattern: cari hanya fail yang sepadan dengan file_pattern
  • --exclude = file_pattern: Langkau fail dan direktori yang sepadan dengan file_pattern
  • --EXCLUDE-FROM = FILE: Langkau fail yang sepadan dengan sebarang corak fail dari fail
  • --Exclude-dir = corak: direktori yang sepadan corak akan dilangkau.
  • -L,--Files-tanpa perlawanan: Cetak nama fail yang mengandungi tiada padanan
  • -L,--Files-with-Matches: Cetak rentetan yang mengandungi nama fail sahaja
  • -Saya,-kes-kes: Abaikan kes rentetan carian
  • -e, --regexp = corak: Gunakan corak untuk mencari atau menentukan pelbagai rentetan carian
  • -W,-Word-regexp: memaksa untuk memadankan keseluruhan perkataan

Terdapat beberapa cara untuk menggunakan arahan grep untuk mencari teks. Mari kita bincangkan beberapa contoh mencari teks/rentetan dalam sistem fail.

  1. Cari rentetan tunggal dalam semua fail
  2. Perintah Contoh di bawah akan mencari "ralat" rentetan dalam semua fail dalam /var /log direktori dan sub-direktorinya.

    grep -rlw "ralat" /var /log  
    Cari teks khusus dalam semua fail menggunakan baris arahan

  3. Cari pelbagai rentetan dalam semua fail
  4. The -e suis juga boleh digunakan untuk mencari pelbagai rentetan. Ini setanding dengan Egrep program. Contoh di bawah akan mencari "Ralat" dan "Amaran" dalam semua fail di /var/log direktori dan subdirektorinya.

    grep -rlw -e "ralat" -e "amaran" /var /log  
    Cari pelbagai rentetan dalam semua fail dengan baris arahan

  5. Rentetan cari dalam fail tertentu
  6. Anda boleh mencari rentetan dalam fail yang sesuai dengan kriteria nama fail. Perintah berikut mencari "Ralat" dalam fail dengan .log lanjutan dalam /var/log direktori dan sub-direktorinya.

    grep -rlw -termasuk = "*.ralat log "-e" " /var /log  

  7. Tidak termasuk beberapa fail dari carian
  8. Anda boleh menggunakan --tidak termasuk pilihan dalam mencari untuk mengecualikan beberapa fail yang sesuai dengan kriteria nama fail tertentu. Contohnya, anda boleh mengecualikan fail dengan .txt sambungan.

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

  9. Tidak termasuk beberapa direktori dari carian
  10. Anda juga boleh melangkau mencari direktori tertentu. Contohnya, jangan cari fail rentetan di mana -mana folder dengan apache2 atas namanya.

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

Kesimpulan

Anda telah belajar bagaimana mencari teks tertentu dalam fail pada sistem fail linux dalam tutorial ini.