6 Alat CLI Terbaik untuk Mencari Data Teks Polos Menggunakan Ekspresi Reguler

6 Alat CLI Terbaik untuk Mencari Data Teks Polos Menggunakan Ekspresi Reguler

Panduan ini mengambil tur dari beberapa alat baris perintah terbaik yang digunakan untuk mencari string atau pola pencocokan dalam file teks. Alat -alat ini biasanya digunakan bersama ekspresi reguler - dipersingkat Regex - yang merupakan string unik untuk menggambarkan pola pencarian.

Tanpa basa -basi lagi, mari selami.

1. Perintah grep

Datang di tempat pertama adalah alat utilitas grep - adalah akronim untuk Cetak Ekspresi Reguler Global, adalah alat baris perintah yang kuat yang berguna saat mencari string tertentu atau pola dalam file.

Grep Kapal dengan distribusi Linux modern secara default dan memberi Anda fleksibilitas untuk mengembalikan berbagai hasil pencarian. Dengan Grep, Anda dapat melakukan beragam fungsi seperti:

  • Cari string atau pola pencocokan dalam file.
  • Cari string atau pola pencocokan dalam file gzipp.
  • Hitung jumlah pencocokan string.
  • Cetak nomor baris yang berisi string atau pola.
  • Cari secara rekursif untuk string di direktori.
  • Lakukan pencarian terbalik (i.e. Tampilkan hasil string yang tidak sesuai dengan kriteria pencarian).
  • Abaikan sensitivitas kasus saat mencari string.

Sintaks untuk menggunakan grep Perintah cukup sederhana:

$ file pola grep 

Misalnya, untuk mencari string 'Linux'Dalam sebuah file, katakanlah, Halo.txt Sambil mengabaikan sensitivitas kasus, jalankan perintah:

$ grep -i linux halo.txt 
Cari string di file

Untuk mendapatkan lebih banyak opsi yang bisa Anda gunakan grep, Cukup baca artikel kami yang contoh lebih canggih Contoh perintah grep canggih.

2. perintah sed

Sed - Short untuk Editor aliran - adalah alat baris perintah lain yang berguna untuk manipulasi teks dalam file teks. Sed mencari, memfilter dan mengganti string dalam file yang diberikan dengan cara yang tidak interaktif.

Secara default, sed Perintah mencetak output ke Stdout (Standar keluar), menyiratkan bahwa hasil eksekusi dicetak di terminal alih -alih disimpan dalam file.

Perintah sed dipanggil sebagai berikut:

$ sed -Options perintah [file yang akan diedit] 

Misalnya, untuk mengganti semua contoh 'UNIX' dengan 'Linux', Ambil perintah:

$ sed 's/unix/linux' halo.txt 
Ganti string dalam file

Jika Anda ingin mengarahkan output alih -alih mencetaknya di terminal, gunakan tanda pengalihan (>) seperti yang ditunjukkan.

$ sed 's/unix/linux' halo.txt> output.txt 
Redirect output ke file

Output perintah disimpan ke keluaran.txt file alih -alih dicetak di layar.

Untuk memeriksa lebih banyak opsi yang dapat digunakan, sekali lagi periksa halaman pria.

$ man sed 

3. Perintah ACK

ACK adalah alat baris perintah yang cepat dan portabel yang ditulis dalam perl. ACK dianggap sebagai pengganti yang ramah untuk utilitas grep dan output menghasilkan cara yang menarik secara visual.

ACK Perintah mencari file atau direktori untuk baris yang berisi kecocokan untuk kriteria pencarian. Itu kemudian menyoroti string yang cocok di baris.
ACK memiliki kapasitas untuk membedakan file berdasarkan ekstensi file mereka, dan sampai batas tertentu, konten dalam file.

Sintaks perintah ack:

$ ACK [Opsi] Pola [file…] $ ack -f [opsi] [direktori…] 

Misalnya, untuk memeriksa istilah pencarian Linux, berlari:

$ ack linux halo.txt 
Periksa string di file

Alat pencarian cukup cerdas dan jika tidak ada file atau direktori yang disediakan oleh pengguna, ia mencari direktori saat ini dan subdirektori untuk pola pencarian.

Dalam contoh di bawah ini, tidak ada file atau direktori yang disediakan, tetapi ACK secara otomatis mendeteksi file yang tersedia dan mencari pola pencocokan yang disediakan.

$ ACK Linux 
Pencarian string di direktori

Untuk memasang ACK Di sistem Anda jalankan perintah:

$ sudo apt install ack-grep [on debian/ubuntu] $ sudo dnf menginstal ack-grep [pada centos/rhel] 

4. Perintah awk

AWK adalah bahasa skrip yang lengkap dan juga alat pemrosesan teks dan manipulasi data. Itu mencari file atau program yang berisi pola pencarian. Saat string atau pola ditemukan, AWK mengambil tindakan pada pertandingan atau garis dan mencetak hasilnya Stdout.

Itu AWK pola terlampir di antara kawat gigi keriting saat seluruh program terlampir dalam kutipan tunggal.

Mari kita ambil contoh paling sederhana. Mari kita asumsikan Anda mencetak tanggal sistem Anda seperti yang ditunjukkan:

$ tanggal 
Periksa Tanggal Sistem Linux

Misalkan Anda hanya ingin mencetak nilai pertama, yang merupakan hari dalam seminggu. Dalam hal ini, pipa output ke AWK seperti yang ditunjukkan:

$ Tanggal | awk 'cetak $ 1' 

Untuk menampilkan nilai -nilai selanjutnya, pisahkan mereka menggunakan koma seperti yang ditunjukkan:

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

Perintah di atas akan menampilkan hari dalam seminggu dan tanggal bulan itu.

Contoh perintah awk

Untuk mendapatkan lebih banyak opsi yang bisa Anda gunakan AWK, Cukup baca seri perintah awk kami.

5. Pencari perak

Pencari perak adalah alat pencarian kode lintas platform dan opensource yang mirip dengan ACK tetapi dengan penekanan pada kecepatan. Itu memudahkan Anda untuk mencari string tertentu di dalam file dalam waktu sesingkat mungkin:

Sintaksis:

$ ag option search_pattern/path/to/file 

Misalnya, untuk mencari string 'Linux'Dalam sebuah file Halo.txt meminta perintah:

$ ag linux halo.txt 
Temukan String di File

Untuk opsi tambahan, kunjungi halaman pria:

$ man ag 

6. Ripgrep

Terakhir, kami memiliki alat baris perintah ripgrep. Ripgrep adalah utilitas lintas platform untuk mencari pola regex. Ini jauh lebih cepat daripada semua alat pencarian yang disebutkan sebelumnya dan direktori secara rekursif untuk pola yang cocok. Dalam hal kecepatan dan kinerja, tidak ada alat lain yang menonjol Ripgrep.

Secara default, ripgrep akan melewatkan file biner/file dan direktori tersembunyi. Juga, diperhatikan bahwa secara default tidak akan mencari file yang diabaikan oleh .gitignore/.mengabaikan/.RGignore file.

Ripgrep Juga memungkinkan Anda untuk mencari jenis file tertentu. Misalnya, untuk membatasi pencarian Anda Javascript File Run:

$ rg -tsj 

Sintaks untuk menggunakan ripgrep cukup mudah:

$ rg [opsi] pola [path…] 

Misalnya. Untuk mencari contoh string 'Linux' Di file yang terletak di dalam direktori saat ini, jalankan perintah:

$ RG Linux 
Cari string di file

Untuk memasang ripgrep Pada sistem Anda jalankan perintah berikut:

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

Untuk opsi tambahan, kunjungi halaman pria:

$ man rg 

Ini adalah beberapa alat baris perintah yang paling banyak digunakan untuk mencari, memfilter, dan memanipulasi teks di Linux. Jika Anda memiliki alat lain yang Anda rasa kami tinggalkan, beri tahu kami di bagian komentar.