Cara Mencari Teks dalam Fail di Linux

How Find Text Files Linux



Bagi pentadbir sistem, bekerja dengan fail teks adalah fenomena biasa. Mungkin perlu mencari bahagian tertentu dari timbunan fail log untuk menyelesaikan sesuatu? Atau, perlu mencari dokumen yang mengandungi maklumat penting dengan cepat?

Dalam kes Linux, terdapat banyak kaedah untuk mencari teks dalam fail. Ada kemungkinan menggunakan kedua-dua alat bawaan dan aplikasi pihak ketiga. Lihat cara mencari teks dalam fail di Linux.







Mencari teks dalam fail

Bergantung pada jumlah fail yang harus anda lakukan pencarian, ada dua cara untuk melakukan pencarian teks: automatik atau manual. Sekiranya anda perlu menggunakan beberapa fail teks, carian manual lebih sesuai. Namun, jika terdapat beratus-ratus fail teks, maka carian automatik adalah yang paling berkesan.



Untuk carian automatik, kami akan menggunakan grep. Grep telah diprapasang di mana-mana distro Linux. Bagi carian manual, mana-mana penyunting teks moden akan menjalankan tugasnya.



Cari teks dalam fail menggunakan grep

Di Linux, grep adalah alat lalai untuk mencari teks. Namanya berasal dari perintah ed g / re / p yang bermaksud global mencari ungkapan biasa dan mencetak garis pencocokan. Ia tersedia di mana-mana distro Linux moden.





Grep adalah alat baris perintah. Struktur arahannya adalah seperti berikut.

$cengkaman <pilihan> <ekspresi biasa> <fail_path>

Seperti namanya grep, corak yang hendak dicari digambarkan menggunakan ungkapan biasa. Ungkapan biasa adalah jenis rentetan khas yang menggambarkan corak untuk dipadankan, dicari dan dikendalikan. Untuk mengetahui lebih lanjut mengenai grep dan ungkapan biasa, lihat menggunakan grep dan egrep dengan ungkapan biasa .



Untuk tujuan demonstrasi, ambil contoh fail teks. Dalam contoh ini, muat turun Fail teks GNU General Public License v3.0 .

Pencarian asas

Cara asas menggunakan grep adalah mencari rentetan asas.

Lihat arahan grep berikut. Ia akan mencari perkataan GNU dalam fail teks.

$cengkaman 'GNU'lpg-3.0.txt

Untuk menunjukkan nombor garis, gunakan bendera -n.

$cengkaman -nGNU gpl-3.0.txt

Untuk melakukan carian tanpa huruf besar-kecil menggunakan grep, gunakan bendera -i.

$cengkaman -nignu gpl-3.0.txt

Anda mungkin tidak mahu melihat carian yang sesuai tetapi hanya nama fail tempat pertandingan berlaku dalam beberapa keadaan. Untuk mencetak hanya nama fail, gunakan bendera -l. Di sini, tanda bintang menunjukkan untuk menggunakan semua fail teks dalam direktori semasa.

$cengkaman -tempatgnu*

Kita juga dapat mengeluarkan output dari perintah lain untuk menggeser.

$kucinglpg-3.0.txt| cengkaman -nGNU

Ekspresi biasa

Regex menawarkan kaedah pintar untuk memperincikan carian. Ia mempunyai peraturannya sendiri. Namun, aplikasi dan bahasa pengaturcaraan yang berbeza menerapkan ungkapan biasa secara berbeza. Berikut adalah beberapa contoh yang boleh anda gunakan dengan grep.

Untuk menentukan bahawa rentetan dapat dijumpai pada permulaan garis, gunakan simbol karet (^).

$cengkaman -n^ GNU gpl-3.0.txt

Untuk menentukan bahawa rentetan dapat dijumpai di hujung baris, gunakan tanda dolar ($).

$cengkaman -nhingga $ gpl-3.0.txt

Untuk menggambarkan bahawa boleh ada watak di lokasi tertentu corak, gunakan watak titik (.). Contohnya, ungkapan G.U adalah sah sekiranya terdapat watak antara G dan U.

$cengkaman -nG.U gpl-3.0.txt

Untuk menerangkan bahawa terdapat subkumpulan watak di lokasi tertentu corak, gunakan tanda kurung ([]). Contohnya, ungkapan t [wo] o memberitahu bahawa padanan hanya berlaku untuk dua dan terlalu.

$cengkaman -nt[Di mana]o gpl-3.0.txt

Ungkapan biasa yang dilanjutkan

Seperti namanya, ungkapan biasa yang diperpanjang dapat melakukan perkara yang lebih kompleks daripada ungkapan biasa biasa. Untuk menggunakan ungkapan biasa yang diperpanjang dengan grep, anda harus menggunakan bendera -E.

$cengkaman -kelahiran <dilanjutkan_regex> <fail>

Untuk mencari dua rentetan yang berbeza, gunakan operator OR (|).

$cengkaman -kelahiranGNU|umum|Lesen gpl-3.0.txt

Mencari teks dalam fail

Sekarang datang bahagian utama. Daripada secara manual memberitahu grep fail untuk menjalankan carian, grep dapat melakukannya secara automatik. Dalam perintah berikut, grep akan menggunakan semua fail teks yang ada di direktori semasa untuk mencari corak.

$cengkaman <regex> *

Sekiranya anda mahu melakukan grep untuk melakukan carian pada direktori lain, maka anda harus menentukan lokasinya.

$cengkaman <regex> <direktori_path>

Sekiranya terdapat folder, grep tidak menerokainya secara lalai. Untuk memberitahu grep untuk mencari secara berulang, gunakan bendera -R.

$cengkaman -nR <regex> <direktori_path>

Grip GUI

Sekiranya anda lebih suka bekerja dengan GUI tetapi masih ingin menikmati ciri-ciri grep, maka periksa searchmonkey. Ini adalah penyelesaian utama untuk grep. Pakej ini terdapat di hampir semua distro Linux utama.

Cari teks dalam fail menggunakan nano

GNU Nano adalah penyunting teks ringkas dan hebat yang disertakan dengan mana-mana distro Linux. Ia mempunyai ciri bawaan untuk mencari teks dalam fail teks.

Perhatikan bahawa dalam kaedah ini, anda harus membuka fail teks, dan mencari secara manual. Ini boleh dilakukan jika hanya terdapat sebilangan kecil fail teks untuk dikerjakan. Sekiranya ada lebih banyak lagi, maka menggunakan grep adalah pilihan yang paling optimum.

Buka fail teks di nano.

$nano <fail_path>

Untuk mencari padanan rentetan, tekan Ctrl + W. Setelah menaip rentetan yang hendak dicari, tekan Enter.

Cari teks dalam fail menggunakan Vim

Vim adalah penyunting teks yang terkenal dan terkenal. Ini setara dengan baris perintah penyunting teks moden. Vim dilengkapi dengan pelbagai ciri canggih seperti plugin, makro, penyelesaian automatik, penapis, dll.

Mirip dengan nano, Vim berfungsi dengan satu fail pada satu masa. Sekiranya anda mempunyai banyak fail teks, maka menggunakan grep adalah kaedah paling optimum.

Untuk mencari dalam fail teks, pertama, buka di Vim.

$saya datang <fail_path>

Masukkan arahan Vim berikut dan tekan Enter.

$:/<carian_terma>

Cari teks dalam fail menggunakan Penyunting Teks GNOME

Editor Teks GNOME adalah penyunting teks yang disertakan dengan desktop GNOME. Ini adalah penyunting teks ringkas dengan semua ciri asas yang anda harapkan. Ini adalah alternatif yang baik untuk penyunting teks baris perintah.

Sama seperti nano dan vim, berhati-hati yang sama berlaku untuk kaedah ini. Sekiranya bilangan fail teks besar, maka lebih baik anda menggunakan grep.

Buka fail teks di Editor Teks. Tekan Ctrl + F untuk membuka bar carian.

Cari teks dalam fail menggunakan VS Code

Visual Studio Code adalah penyunting teks yang hebat dengan banyak ciri. Ia dioptimumkan agar pengaturcara dapat digunakan seolah-olah IDE yang lengkap. Ia tersedia di hampir semua distro Linux utama.

Pasang pakej snap Visual Code Code.

$sudosekejappasangkod--kelas

Buka fail teks dalam VS Code. Tekan Ctrl + F untuk mula mencari.

Pemikiran terakhir

Terdapat banyak cara untuk mencari teks dalam fail. Tugas yang mudah dikuasai. Sangat disarankan untuk menguasai perintah grep kerana ia menawarkan nilai paling tinggi dari segi kecekapan dan kemudahan penggunaan.

Sekiranya anda lebih suka GUI, maka terdapat banyak editor teks untuk dipilih. Mana-mana penyunting teks moden akan menyediakan pilihan carian teks.

Selamat pengkomputeran!