GNU/Linux >> Belajar Linux >  >> Linux

Cara Menemukan File yang Mengandung String Teks Tertentu di Linux

Hampir semua pengelola file untuk Linux menyukai Nemo dan Thunar secara default memberikan opsi untuk mencari file. Tetapi jika Anda ingin mencari string di dalam konten file menggunakan pengelola file, sebagian besar tidak mengizinkan Anda melakukannya.

Dalam artikel ini, saya akan membahas berbagai cara yang dapat Anda gunakan pada distribusi Linux apa pun untuk menemukan semua file yang berisi string teks atau kata tertentu dengan menggali semua sub-direktori secara rekursif.

Di halaman ini

  • Menelusuri Teks Tertentu di Linux Menggunakan Alat GUI Lele
  • Mencari Teks Tertentu di Linux Menggunakan Perintah Grep
  • Mencari Teks Tertentu Di Linux Menggunakan MC (Midnight Commander)

Menelusuri Teks Tertentu di Linux Menggunakan Alat GUI Catfish

Saya akan mulai dengan cara termudah yang dapat bekerja untuk semua termasuk pemula hingga pengguna Linux tingkat lanjut. Ikan Lele adalah alat pencarian file berbasis GUI yang sederhana dan ringan untuk desktop Linux. Selain mencari file di sistem Anda, Anda juga dapat menggunakannya untuk menemukan semua file yang berisi kata tertentu.

[ Anda mungkin juga menyukai:Cara Menemukan File Berdasarkan Stempel Waktu di Linux ]

Instal Alat Pencarian Ikan Lele di Linux

Ikan Lele paket sudah tersedia di repositori utama Debian dan Ubuntu. Oleh karena itu, Jika Anda menggunakan distribusi berbasis Debian atau Ubuntu, Anda cukup menginstalnya dengan menjalankan perintah:

$ sudo apt install catfish  [On Debian/Ubuntu & Mint]

Pada distribusi Linux lainnya, Anda dapat menginstalnya dari repositori default menggunakan manajer paket Anda.

$ sudo yum install catfish  [On CentOS/RHEL 7]
$ sudo dnf install catfish  [On CentOS/RHEL 8 & Fedora]
$ sudo pacman -S catfish    [On Arch Linux]
$ sudo pkg_add -v catfish   [On FreeBSD]

Jika paket tidak tersedia, Anda dapat mengunduh file rilis terbaru, mengekstrak file tar.bz2 yang diunduh, dan menjalankan perintah berikut:

$ sudo python3 setup.py install

Mencari Isi File Menggunakan Ikan Lele

Setelah terinstal, Anda hanya perlu mengaktifkan “Cari konten file ”, pilih direktori dari opsi dropdown kiri atas, dan ketik teks yang ingin Anda cari. Ini akan mencantumkan semua file yang berisi teks bersama dengan ukuran dan lokasi file.

Anda juga dapat menggunakan jenis file dan filter tanggal yang dimodifikasi dari panel kiri untuk mengurangi cakupan pencarian. Anda bahkan dapat menambahkan jalur direktori yang tidak ingin Anda cari.

Mencari Teks Tertentu di Linux Menggunakan Perintah Grep

Di samping GUI cara, grep adalah salah satu alat baris perintah populer yang dapat digunakan untuk mencari di dalam konten file. Karena hampir semua sistem operasi mirip unix mengirimkan grep utilitas secara default, Anda tidak perlu menginstalnya.

Menelusuri Teks Tertentu dalam File

Sekarang untuk mencari dan menemukan semua file untuk string teks yang diberikan di terminal Linux, Anda dapat menjalankan perintah berikut. Di sini, '-r' atau '-R' flag secara rekursif menelusuri semua subdirektori di dalam direktori yang ditentukan.

$ grep -r “linuxshelltips” /home/sarvottam/

Temukan Nama File yang Berisi String yang Diberikan

Jika Anda hanya ingin mencetak nama file dan menyembunyikan teks dari output, Anda dapat menggunakan '-l' bendera.

$ grep -rl “linuxshelltips” /home/sarvottam/

Cetak Nama File dan Nomor Baris yang Berisi String yang Diberikan

Selanjutnya, Anda juga dapat mengubah output menggunakan opsi berikut yang tersedia untuk grep :

  • 'i' untuk tidak peka huruf besar/kecil.
  • 'n' untuk mencetak nomor baris.
  • 'w' untuk mencocokkan seluruh kata.
$ sudo grep -rnwi “linuxshelltips” /home/sarvottam/

Perlu juga disebutkan bahwa jika Anda menelusuri direktori yang memerlukan izin root, Anda perlu menggunakan perintah sudo.

Menelusuri Teks Tertentu dalam Jenis File Tertentu

Untuk lebih mengurangi cakupan pencarian, Anda juga dapat secara spesifik menyebutkan jenis file dan direktori yang hanya dicari saat mencari. “--include” , “--exclude” , dan “--exclude-dir” adalah opsi yang tersedia untuk menambahkan jenis file dan filter direktori.

$ grep --include=\*.txt --exclude=\*.{java,js} --exclude-dir=\bin -rnwi "linuxshelltips" /home/sarvottam/

Mencari Teks Tertentu Di Linux Menggunakan MC (Midnight Commander)

Jika Anda tinggal di terminal dan masih ingin mencari teks menggunakan cara GUI, Anda juga dapat mencoba alat pengelola file berbasis Terminal User Interface (TUI), mc (komandan tengah malam ) – adalah pengelola file visual yang digunakan untuk mencari file.

Instal Midnight Commander di Linux

Komandan Tengah Malam tersedia untuk diinstal dari repositori default di sebagian besar distribusi Linux.

$ sudo apt install mc  [On Debian/Ubuntu & Mint]
$ sudo yum install mc  [On CentOS/RHEL 7]
$ sudo dnf install mc  [On CentOS/RHEL 8 & Fedora]
$ sudo pacman -S mc    [On Arch Linux]
$ sudo pkg_add -v mc   [On FreeBSD]

Mencari Isi File Menggunakan Midnigh Commander

Di dalam terminal, mc menyediakan representasi visual dari sistem file di mana Anda dapat menavigasi baik melalui keyboard atau mouse. Untuk mencari konten file, Anda dapat membuka dialog pencarian menggunakan ALT+SHIFT+? dan masukkan teks di “Content:” bagian.

Seperti yang Anda lihat pada gambar di atas, Anda juga dapat menggunakan filter seperti abaikan huruf besar/kecil, seluruh kata, dan ekspresi reguler hanya dengan mencentang dan menghapus centangnya.

Kesimpulan

Semua aplikasi yang disebutkan di atas ramah pemula, gratis digunakan, dan open source untuk menambahkan perangkat tambahan Anda sendiri. Atau, Anda juga dapat mencoba alat gratis lainnya seperti Ack, The Silver Searcher, Ripgrep, dan find command.


Linux
  1. Cara menemukan File di Linux

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

  3. Cara menemukan baris yang berisi string di linux

  1. Cara Menemukan Teks Tertentu menggunakan GREP di Linux

  2. Bagaimana membedakan biner dari file teks di linux

  3. Cara menemukan file format dos di sistem file linux

  1. Perintah Linux:Bagaimana cara 'menemukan' hanya file teks?

  2. Bagaimana menemukan file teks yang tidak mengandung teks di Linux?

  3. Bagaimana cara menemukan semua file yang berisi teks tertentu di Linux?