Cara Menemukan Teks di File di Linux

How Find Text Files Linux

Untuk administrator sistem, bekerja dengan file teks adalah fenomena umum. Mungkin perlu menemukan bagian tertentu dari tumpukan file log untuk memecahkan masalah sesuatu? Atau, perlu menemukan dokumen yang berisi informasi penting dengan cepat?

Dalam kasus Linux, ada banyak metode untuk menemukan teks dalam file. Itu mungkin menggunakan alat bawaan dan aplikasi pihak ketiga. Lihat cara menemukan teks dalam file di Linux.



Menemukan teks dalam file

Tergantung pada jumlah file yang harus Anda cari, ada dua cara untuk melakukan pencarian teks: otomatis atau manual. Jika Anda harus bekerja dengan beberapa file teks, pencarian manual lebih cocok. Namun, jika ada ratusan file teks, maka pencarian otomatis adalah yang paling efisien.



Untuk pencarian otomatis, kami akan menggunakan grep. Grep sudah diinstal sebelumnya di semua distro Linux. Adapun pencarian manual, editor teks modern apa pun akan melakukan pekerjaan itu.



Temukan teks dalam file menggunakan grep

Di Linux, grep adalah alat default untuk mencari teks. Namanya berasal dari perintah ed g/re/p yang merupakan singkatan dari pencarian global untuk ekspresi reguler dan garis pencocokan cetak. Ini tersedia di semua distro Linux modern.

Grep adalah alat baris perintah. Struktur perintahnya adalah sebagai berikut.

$pegangan <pilihan> <ekspresi_reguler> <file_path>

Seperti yang disarankan oleh nama grep, pola yang akan dicari dideskripsikan menggunakan ekspresi reguler. Ekspresi reguler adalah tipe string khusus yang menjelaskan pola untuk dicocokkan, ditemukan, dan dikelola. Untuk mempelajari lebih lanjut tentang grep dan ekspresi reguler, lihat menggunakan grep dan egrep dengan ekspresi reguler .



Untuk tujuan demonstrasi, ambil contoh file teks. Dalam contoh ini, unduh File teks GNU General Public License v3.0 .

Pencarian dasar

Cara mendasar menggunakan grep adalah mencari string dasar.

Perhatikan perintah grep berikut. Ini akan mencari kata GNU dalam file teks.

$pegangan 'GNU'lpg-3.0.txt

Untuk menunjukkan nomor baris, gunakan flag -n.

$pegangan -nGNU gpl-3.0.txt

Untuk melakukan pencarian case-insensitive menggunakan grep, gunakan flag -i.

$pegangan -nignu gpl-3.0.txt

Anda mungkin tidak ingin melihat kecocokan pencarian tetapi hanya nama file tempat kecocokan itu terjadi dalam beberapa situasi. Untuk mencetak hanya nama file, gunakan flag -l. Di sini, tanda bintang menunjukkan untuk menggunakan semua file teks di direktori saat ini.

$pegangan -NSgnu*

Kami juga dapat menyalurkan output dari perintah lain ke grep.

$kucinglpg-3.0.txt| pegangan -nGNU

Ekspresi reguler

Regex menawarkan cara cerdas untuk menyempurnakan pencarian. Ia memiliki aturannya sendiri. Namun, aplikasi dan bahasa pemrograman yang berbeda mengimplementasikan ekspresi reguler secara berbeda. Berikut adalah beberapa contoh yang dapat Anda gunakan dengan grep.

Untuk menentukan bahwa string dapat ditemukan di awal baris, gunakan simbol tanda sisipan (^).

$pegangan -n^ GNU gpl-3.0.txt

Untuk menentukan bahwa string dapat ditemukan di akhir baris, gunakan tanda dolar ($).

$pegangan -nke $ gpl-3.0.txt

Untuk menggambarkan bahwa bisa ada karakter apa pun di lokasi tertentu dari pola, gunakan karakter titik (.). Misalnya, ekspresi G.U valid jika ada karakter antara G dan U.

$pegangan -nG.U gpl-3.0.txt

Untuk menggambarkan bahwa mungkin ada subset karakter di lokasi tertentu dari pola, gunakan tanda kurung ([]). Misalnya, ekspresi t[wo]o memberi tahu bahwa kecocokan valid untuk dua dan terlalu saja.

$pegangan -nT[Di mana]o gpl-3.0.txt

Ekspresi reguler yang diperluas

Seperti namanya, ekspresi reguler yang diperluas dapat melakukan hal-hal yang lebih kompleks daripada ekspresi reguler dasar. Untuk menggunakan ekspresi reguler yang diperluas dengan grep, Anda harus menggunakan flag -E.

$pegangan -lahir <diperpanjang_regex> <mengajukan>

Untuk mencari dua string yang berbeda, gunakan operator ATAU (|).

$pegangan -lahirGNU|umum|Lisensi gpl-3.0.txt

Menemukan teks dalam file

Sekarang datang bagian utama. Alih-alih memberi tahu grep file secara manual untuk melakukan pencarian, grep dapat melakukannya secara otomatis. Pada perintah berikut, grep akan menggunakan semua file teks yang tersedia di direktori saat ini untuk mencari pola.

$pegangan <ekspresi reguler> *

Jika Anda ingin grep untuk melakukan pencarian pada direktori yang berbeda, maka Anda harus menentukan lokasinya.

$pegangan <ekspresi reguler> <direktori_path>

Jika ada folder, grep tidak menjelajahinya secara default. Untuk memberitahu grep untuk mencari secara rekursif, gunakan flag -R.

$pegangan -nR <ekspresi reguler> <direktori_path>

Pegangan GUI

Jika Anda lebih suka bekerja dengan GUI tetapi masih ingin menikmati fitur grep, periksa searchmonkey. Ini adalah solusi front-end untuk grep. Paket ini tersedia di hampir semua distro Linux utama.

Temukan teks dalam file menggunakan nano

GNU Nano adalah editor teks sederhana dan kuat yang hadir dengan distro Linux apa pun. Ini memiliki fitur bawaan untuk mencari teks dalam file teks.

Perhatikan bahwa dalam metode ini, Anda harus membuka file teks, dan mencari secara manual. Ini bisa dilakukan jika hanya ada beberapa file teks untuk dikerjakan. Jika masih ada, maka menggunakan grep adalah pilihan yang paling optimal.

Buka file teks di nano.

$nano <file_path>

Untuk mencari kecocokan string, tekan Ctrl + W. Setelah mengetik string yang akan dicari, tekan Enter.

Temukan teks dalam file menggunakan Vim

Vim adalah editor teks terkenal dan terkenal. Ini setara dengan baris perintah dari editor teks modern. Vim hadir dengan banyak fitur canggih seperti plugin, makro, pelengkapan otomatis, filter, dll.

Mirip dengan nano, Vim bekerja dengan satu file pada satu waktu. Jika Anda memiliki banyak file teks, maka menggunakan grep adalah cara yang paling optimal.

Untuk mencari di file teks, pertama, buka di Vim.

$saya datang <file_path>

Masukkan perintah Vim berikut dan tekan Enter.

$:/<istilah_pencarian>

Temukan teks dalam file menggunakan Editor Teks GNOME

Editor Teks GNOME adalah editor teks yang disertakan dengan desktop GNOME. Ini adalah editor teks sederhana dengan semua fitur dasar yang Anda harapkan. Ini adalah alternatif yang bagus untuk editor teks baris perintah.

Mirip dengan nano dan vim, kehati-hatian yang sama berlaku untuk metode ini. Jika jumlah file teks besar, maka Anda lebih baik tetap menggunakan grep.

Buka file teks di Editor Teks. Tekan Ctrl + F untuk membuka bilah pencarian.

Temukan teks dalam file menggunakan Kode VS

Visual Studio Code adalah editor teks yang kuat dengan banyak fitur. Ini dioptimalkan untuk programmer untuk digunakan seolah-olah itu adalah IDE yang lengkap. Ini tersedia di hampir semua distro Linux utama.

Instal paket snap Kode Visual Studio.

$sudojepretInstallkode--klasik

Buka file teks dalam Kode VS. Tekan Ctrl + F untuk mulai mencari.

Pikiran terakhir

Ada banyak cara untuk mencari teks dalam file. Ini adalah tugas yang mudah untuk dikuasai. Sangat disarankan untuk menguasai perintah grep karena ia menawarkan nilai tertinggi dalam hal efisiensi dan kemudahan penggunaan.

Jika Anda lebih suka GUI, maka ada banyak editor teks untuk dipilih. Setiap editor teks modern akan menyediakan opsi pencarian teks.

Selamat menghitung!