6 Alat CLI Terbaik Untuk Mencari Data Teks Plain Menggunakan Ekspresi Biasa

6 Alat CLI Terbaik Untuk Mencari Data Teks Plain Menggunakan Ekspresi Biasa

Panduan ini mengambil lawatan ke beberapa alat baris arahan terbaik yang digunakan untuk mencari rentetan atau corak yang sepadan dalam fail teks. Alat ini biasanya digunakan bersama ungkapan biasa - dipendekkan sebagai Regex - yang merupakan rentetan yang unik untuk menerangkan corak carian.

Tanpa banyak lagi, mari kita menyelam masuk.

1. Perintah grep

Datang di tempat pertama adalah alat utiliti grep - adalah akronim untuk Cetakan ungkapan biasa global, adalah alat baris arahan yang kuat yang berguna ketika mencari rentetan tertentu atau corak dalam fail.

Grep Kapal dengan pengagihan Linux moden secara lalai dan memberi anda fleksibiliti untuk mengembalikan pelbagai hasil carian. Dengan Grep, anda boleh melakukan pelbagai fungsi seperti:

  • Cari rentetan atau corak yang sepadan dalam fail.
  • Cari rentetan atau corak yang sepadan dalam fail gzipped.
  • Hitung jumlah perlawanan rentetan.
  • Cetak nombor garis yang mengandungi rentetan atau corak.
  • Cari secara rekursif untuk rentetan dalam direktori.
  • Melakukan carian terbalik (i.e. Paparkan hasil rentetan yang tidak sepadan dengan kriteria carian).
  • Abaikan kepekaan kes semasa mencari rentetan.

Sintaks untuk menggunakan grep Perintah agak mudah:

Fail corak $ grep 

Contohnya, untuk mencari rentetan 'Linux'Dalam fail, katakan, Helo.txt Semasa mengabaikan kepekaan kes, jalankan arahan:

$ grep -i linux hello.txt 
Cari rentetan dalam fail

Untuk mendapatkan lebih banyak pilihan yang boleh anda gunakan grep, Cukup baca artikel kami bahawa contoh contoh perintah grep yang lebih maju.

2. perintah sed

Sed - pendek untuk Editor Stream - merupakan alat baris arahan yang berguna untuk teks manipulasi dalam fail teks. Carian sed, penapis dan menggantikan rentetan dalam fail yang diberikan dengan cara yang tidak interaktif.

Secara lalai, sed Perintah mencetak output ke Stdout (Standard keluar), menyiratkan bahawa hasil pelaksanaan dicetak di terminal dan bukannya disimpan dalam fail.

Perintah sed dipanggil seperti berikut:

$ sed -Options Command [fail yang akan diedit] 

Contohnya, untuk menggantikan semua contoh 'Unix'Dengan'Linux', memohon arahan:

$ sed's/unix/linux 'hello.txt 
Ganti rentetan dalam fail

Sekiranya anda ingin mengalihkan output dan bukannya mencetaknya di terminal, gunakan tanda pengalihan semula (>) seperti yang ditunjukkan.

$ sed's/unix/linux 'hello.txt> output.txt 
Mengalihkan output ke fail

Output arahan disimpan ke pengeluaran.txt fail dan bukannya dicetak di skrin.

Untuk melihat lebih banyak pilihan yang boleh digunakan, sekali lagi periksa halaman lelaki.

$ man sed 

3. Perintah ACK

Ack adalah alat baris arahan yang cepat dan mudah alih yang ditulis di Perl. Ack dianggap pengganti mesra untuk utiliti grep dan output menghasilkan cara yang menarik secara visual.

Ack perintah mencari fail atau direktori untuk baris yang mengandungi perlawanan untuk kriteria carian. Ia kemudian menyoroti rentetan yang sepadan dalam baris.
Ack mempunyai keupayaan untuk membezakan fail berdasarkan sambungan fail mereka, dan setakat tertentu, kandungan dalam fail.

Sintaks perintah ACK:

$ ack [options] corak [fail ...] $ ack -f [options] [direktori ...] 

Contohnya, untuk memeriksa istilah carian Linux, Jalankan:

$ ack linux hello.txt 
Periksa rentetan dalam fail

Alat carian agak pintar dan jika tiada fail atau direktori disediakan oleh pengguna, ia mencari direktori dan subdirektori semasa untuk corak carian.

Dalam contoh di bawah, tiada fail atau direktori telah disediakan, tetapi ACK secara automatik mengesan fail yang ada dan mencari corak sepadan yang disediakan.

$ ack linux 
Rentetan cari dalam direktori

Untuk memasang ack Pada sistem anda jalankan arahan:

$ sudo apt Pasang ACK-GREP [ON DEBIAN/UBUNTU] $ sudo DNF Pasang ACK-GREP [ON CentOS/RHEL] 

4. Perintah awk

Awk adalah bahasa skrip sepenuhnya dan juga pemprosesan teks dan alat manipulasi data. Ia mencari fail atau program yang mengandungi corak carian. Apabila rentetan atau corak dijumpai, awk mengambil tindakan pada perlawanan atau garis dan mencetak hasilnya Stdout.

The Awk Corak dilampirkan di antara pendakap keriting manakala keseluruhan program disertakan dalam petikan tunggal.

Mari kita ambil contoh yang paling mudah. Mari kita anggap anda mencetak tarikh sistem anda seperti yang ditunjukkan:

$ tarikh 
Semak tarikh sistem Linux

Katakan anda hanya mahu mencetak nilai pertama, yang merupakan hari dalam seminggu. Dalam kes itu, paip output ke dalam awk seperti yang ditunjukkan:

$ tarikh | awk 'cetak $ 1' 

Untuk memaparkan nilai berikutnya, memisahkannya menggunakan koma seperti yang ditunjukkan:

$ tarikh | awk 'cetak $ 1, $ 2' 

Perintah di atas akan memaparkan hari dalam seminggu dan tarikh bulan ini.

Contoh perintah awk

Untuk mendapatkan lebih banyak pilihan yang boleh anda gunakan awk, Cukup baca siri perintah awk kami.

5. Pencari perak

The Silver Searcher adalah alat carian kod cross-platform dan openSource yang serupa dengan ack Tetapi dengan penekanan pada kelajuan. Ia memudahkan anda mencari rentetan tertentu dalam fail dalam masa yang singkat mungkin:

Sintaks:

$ AG Pilihan Search_pattern/Path/to/file 

Contohnya, untuk mencari rentetan 'Linux'Dalam fail Helo.txt Memohon arahan:

$ ag linux hello.txt 
Cari rentetan dalam fail

Untuk pilihan tambahan, lawati halaman lelaki:

$ lelaki ag 

6. Ripgrep

Terakhir, kami mempunyai alat baris arahan Ripgrep. Ripgrep adalah utiliti silang platform untuk mencari corak regex. Ia jauh lebih cepat daripada semua alat carian yang disebutkan sebelumnya dan carian direktori rekursif untuk corak yang sepadan. Dari segi kelajuan dan prestasi, tidak ada alat lain yang menonjol Ripgrep.

Secara lalai, Ripgrep Adakah akan melangkau fail binari/fail dan direktori tersembunyi. Juga, dinasihatkan bahawa secara lalai ia tidak akan mencari fail yang diabaikan oleh .gitignore/.abai/.rgignore fail.

Ripgrep Juga membolehkan anda mencari jenis fail tertentu. Contohnya, untuk menghadkan carian anda JavaScript Fail dijalankan:

$ rg -tsj 

Sintaks untuk menggunakan Ripgrep agak mudah:

$ rg [opsyen] corak [path ...] 

Sebagai contoh. Untuk mencari contoh rentetan 'Linux' Dalam fail yang terletak di dalam direktori semasa, jalankan arahan:

$ rg linux 
Cari rentetan dalam fail

Untuk memasang Ripgrep Pada sistem anda jalankan arahan berikut:

$ sudo apt pasang ripgrep [on Debian/Ubuntu] $ sudo pacman -s ripgrep [on Arch Linux] $ sudo zypper memasang ripgrep [on Opensuse] $ sudo dnf memasang ripgrep [on Centos/rhel/fedora] 

Untuk pilihan tambahan, lawati halaman lelaki:

$ man rg 

Ini adalah beberapa alat baris arahan yang paling banyak digunakan untuk mencari, menapis, dan memanipulasi teks di Linux. Sekiranya anda mempunyai alat lain yang anda rasa kami tinggalkan, beritahu kami di bahagian komen.