GNU/Linux >> Belajar Linux >  >> Linux

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

Panduan ini membahas beberapa alat baris perintah terbaik yang digunakan untuk mencari string atau pola yang cocok dalam file teks. Alat ini biasanya digunakan bersama ekspresi reguler – disingkat sebagai REGEX – yang merupakan string unik untuk menggambarkan pola pencarian.

Tanpa basa-basi lagi, mari selami.

1. Perintah Grep

Yang pertama adalah alat utilitas grep – merupakan akronim dari Global Regular Expression Print , adalah alat baris perintah canggih yang berguna saat mencari string atau pola tertentu dalam file.

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

  • Menelusuri string atau pola yang cocok dalam file.
  • Menelusuri string atau pola yang cocok dalam file yang di-zip.
  • Hitung jumlah string yang cocok.
  • Cetak nomor baris yang berisi string atau pola.
  • Menelusuri string dalam direktori secara rekursif.
  • Lakukan pencarian terbalik (yaitu Menampilkan hasil string yang tidak cocok dengan kriteria pencarian).
  • Abaikan sensitivitas huruf besar/kecil saat mencari string.

Sintaks untuk menggunakan grep perintahnya cukup sederhana:

$ grep pattern FILE

Misalnya, untuk mencari string ‘Linux ' dalam sebuah file, katakan, hello.txt sambil mengabaikan sensitivitas huruf besar/kecil, jalankan perintah:

$ grep -i Linux hello.txt

Untuk mendapatkan lebih banyak opsi yang dapat Anda gunakan dengan grep , cukup baca artikel kami yang memberikan contoh contoh perintah grep yang lebih canggih.

2. perintah sed

Sed – kependekan dari Stream Editor – adalah alat baris perintah lain yang berguna untuk memanipulasi teks dalam file teks. Sed mencari, memfilter, dan mengganti string dalam file tertentu dengan cara non-interaktif.

Secara default, sed perintah mencetak output ke STDOUT (Standar Luar ), menyiratkan bahwa hasil eksekusi dicetak di terminal alih-alih disimpan dalam file.

Perintah sed dipanggil sebagai berikut:

$ sed -OPTIONS command [ file to be edited ]

Misalnya, untuk mengganti semua instance ‘Unix ' dengan 'Linux ', jalankan perintah:

$ sed 's/Unix/Linux' hello.txt

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

$ sed 's/Unix/Linux' hello.txt > output.txt

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

Untuk melihat lebih banyak opsi yang dapat digunakan, sekali lagi periksa halaman manual.

$ man sed

3. Perintah Ack

Ak adalah alat baris perintah yang cepat dan portabel yang ditulis dalam Perl. Ak dianggap sebagai pengganti yang ramah untuk utilitas grep dan hasil keluaran dengan cara yang menarik secara visual.

Ak perintah mencari file atau direktori untuk baris yang berisi kecocokan dengan kriteria pencarian. Ini kemudian menyoroti string yang cocok di baris.
Ack memiliki kapasitas untuk membedakan file berdasarkan ekstensi filenya, dan sampai batas tertentu, konten dalam file.

Sintaks perintah ack:

$ ack [options] PATTERN [FILE...]
$ ack -f [options] [DIRECTORY...]

Misalnya, untuk memeriksa istilah penelusuran Linux , jalankan:

$ ack Linux hello.txt

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

Pada contoh di bawah, tidak ada file atau direktori yang disediakan, tetapi ack secara otomatis mendeteksi file yang tersedia dan mencari pola yang cocok yang disediakan.

$ ack Linux

Untuk memasang ack di sistem Anda jalankan perintah:

$ sudo apt install ack-grep    [On Debian/Ubuntu]
$ sudo dnf install ack-grep    [On CentOS/RHEL]

4. Perintah Awk

Awk adalah bahasa skrip yang lengkap dan juga alat pemrosesan teks dan manipulasi data. Ini mencari file atau program yang berisi pola pencarian. Saat string atau pola ditemukan, awk mengambil tindakan pada pertandingan atau garis dan mencetak hasilnya di STDOUT .

AWK pola diapit di antara kurung kurawal sementara seluruh program diapit oleh tanda kutip tunggal.

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

$ date

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

$ date | awk '{print $1}'

Untuk menampilkan nilai selanjutnya, pisahkan dengan koma seperti yang ditunjukkan:

$ date | awk '{print $1,$2}'

Perintah di atas akan menampilkan hari dalam seminggu dan tanggal dalam sebulan.

Untuk mendapatkan lebih banyak opsi yang dapat Anda gunakan dengan awk , cukup baca seri perintah awk kami.

5. Pencari Perak

Pencari perak adalah alat pencarian kode lintas platform dan sumber terbuka yang mirip dengan ack tetapi dengan penekanan pada kecepatan. Ini memudahkan Anda untuk mencari string tertentu dalam file dalam waktu sesingkat mungkin:

Sintaks:

$ ag OPTIONS search_pattern /path/to/file

Misalnya, untuk mencari string ‘Linux ' dalam file hello.txt jalankan perintah:

$ ag Linux hello.txt

Untuk opsi tambahan, kunjungi halaman manual:

$ man ag

6. Ripgrep

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

Secara default, ripgrep akan melewatkan file biner/file dan direktori tersembunyi. Juga, perhatikan bahwa secara default itu tidak akan mencari file yang diabaikan oleh .gitignore/.ignore/.rgignore file.

Ripprep juga memungkinkan Anda untuk mencari jenis file tertentu. Misalnya, untuk membatasi penelusuran Anda ke Javascript file dijalankan:

$ rg -Tsj

Sintaks untuk menggunakan ripgrep cukup mudah:

$ rg [OPTIONS] PATTERN [PATH...]

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

$ rg Linux

Untuk memasang ripgrep di sistem Anda, jalankan perintah berikut:

$ sudo apt install ripgrep      [On Debian/Ubuntu]
$ sudo pacman -S ripgrep        [On Arch Linux]
$ sudo zypper install ripgrep   [On OpenSuse]
$ sudo dnf install ripgrep      [On CentOS/RHEL/Fedora]

Untuk opsi tambahan, kunjungi halaman manual:

$ 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 menurut Anda tidak kami miliki, beri tahu kami di bagian komentar.


Linux
  1. Bagaimana mengkonversi file PPK ke PEM menggunakan Command

  2. Simpan File Setelah Menggunakan Perintah Sed?

  3. Alat Transfer File Terbaik di Linux

  1. Ekspresi Reguler dalam Perintah Grep dengan 10 Contoh – Bagian I

  2. 4 alat untuk mengunduh file apa pun menggunakan baris perintah di Linux

  3. Cara membagi iso atau file menggunakan perintah 'split' di Linux

  1. Cara membuat file sparse di Linux menggunakan perintah 'dd'

  2. Bagaimana cara melampirkan file menggunakan perintah mail di Linux?

  3. Daftar file menggunakan perintah ls di Linux dengan path lengkap