Cara mencari semua fail yang mengandungi teks tertentu di linux
- 3487
- 623
- Marcus Kassulke
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/dir1 | grep -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.
- Cari rentetan tunggal dalam semua fail
Perintah Contoh di bawah akan mencari "ralat" rentetan dalam semua fail dalam /var /log direktori dan sub-direktorinya.
Cari teks khusus dalam semua fail menggunakan baris arahangrep -rlw "ralat" /var /log
- Cari pelbagai rentetan dalam semua fail
The
-e
suis juga boleh digunakan untuk mencari pelbagai rentetan. Ini setanding denganEgrep
program. Contoh di bawah akan mencari "Ralat" dan "Amaran" dalam semua fail di /var/log direktori dan subdirektorinya.
Cari pelbagai rentetan dalam semua fail dengan baris arahangrep -rlw -e "ralat" -e "amaran" /var /log
- Rentetan cari dalam fail tertentu
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
- Tidak termasuk beberapa fail dari carian
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
- Tidak termasuk beberapa direktori dari carian
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.