Temukan File yang Mengandung Teks Tertentu di Linux
Linux, terlepas dari distro yang Anda gunakan, hadir dengan sejumlah alat GUI yang memungkinkan pencarian file. Banyak pengelola file modern mendukung pencarian file langsung di daftar file. Namun, ada beberapa situasi saat Anda perlu menggunakan konsol, misalnya, selama sesi SSH atau saat server X tidak dimulai. Berikut adalah bagaimana Anda dapat menemukan file yang berisi teks tertentu dengan cepat menggunakan terminal.
Iklan
Jika Anda dapat menggunakan GUI, mencari file tidak menjadi masalah. Di lingkungan desktop XFCE favorit saya, pengelola file Thunar memungkinkan pencarian file dengan mengetikkan nama file langsung di daftar file.
Namun, tidak ada pengelola file yang saya coba izinkan mencari konten file.
Untuk melewati batasan ini saat bekerja dalam sesi GUI, Anda dapat menggunakan atfish. atfish adalah alat pencarian yang populer. Ini memungkinkan pencarian konten file. Anda perlu mengklik ikon roda gigi dan mengaktifkan opsi Cari Isi File.
Namun, ketika datang ke terminal, Anda tidak dapat menggunakan alat grafis apa pun. Juga, saya menemukan Catfish tidak berguna dan lebih suka alat konsol klasik daripadanya. Berikut adalah metode dan alat yang saya gunakan.
Untuk menemukan file yang berisi teks tertentu di Linux, lakukan hal berikut.
- Buka aplikasi terminal favorit Anda. terminal XFCE4 adalah preferensi pribadi saya.
- Ketik perintah berikut:
temukan ./ -type f -exec grep -l "text to find" {} \;
- Ini akan menghasilkan daftar file yang berisi bagian teks yang diperlukan.
Perintah find akan mencari file mulai dari direktori saat ini, "./". Anda dapat menentukan jalur yang diinginkan sebagai gantinya.
Pilihan -tipe f memberitahunya untuk hanya mencari file dan mengecualikan direktori. Selain itu, Anda dapat membuatnya hanya mencari jenis file tertentu dengan menambahkan opsi sebagai berikut:temukan ./ -type f -iname "*.txt" -exec grep -l "text to find" {} \;
Lihat tangkapan layar berikut:
NS -exec opsi memanggil alat grep untuk setiap file yang cocok untuk memeriksa isinya. Jika teks ditemukan dalam file, namanya akan ditambahkan ke output, berkat -l pilihan.
Alternatif
Ada alternatif untuk metode yang dijelaskan di atas. Pertama-tama, Anda hanya dapat menggunakan grep alat. Coba perintah berikut:
grep -iRl "teks untuk ditemukan" ./
- -i adalah singkatan dari abaikan teks kasus.
- -R adalah singkatan dari pemrosesan file rekursif.
- -l singkatan dari "tampilkan nama file, bukan hasil itu sendiri".
Seperti yang Anda lihat, metode ini kurang fleksibel daripada Temukan memerintah.
Komandan tengah malam
Metode lain yang sering saya gunakan adalah Midnight Commander (mc), aplikasi pengelola file konsol. Tidak seperti find atau grep, mc tidak disertakan secara default di semua distro Linux yang saya coba. Anda mungkin perlu menginstalnya sendiri.
Untuk menemukan file yang berisi teks tertentu menggunakan Midnight Commander, jalankan aplikasi dan tekan urutan berikut pada keyboard:
Alt + Menggeser + ?
Ini akan membuka dialog pencarian.
Isi bagian "Nama file:". Anda dapat menentukan sesuatu seperti "*.txt" untuk mencari teks Anda dalam file teks saja.
Sekarang, isi Isi: kotak. Ketik teks yang berisi file dan tekan tombol Enter.
Ini akan menemukan semua file yang cocok dengan kriteria.
Itu dia.