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-alat ini biasanya digunakan bersama dengan ekspresi reguler – disingkat menjadi REGEX – yang merupakan string unik untuk menggambarkan pola pencarian.

Tanpa basa-basi lagi, mari selami.

1. Perintah Grep

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

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

  • Cari string atau pola yang cocok dalam file.
  • Cari string atau pola yang cocok dalam file Gzip.
  • Hitung jumlah string yang cocok.
  • Cetak nomor baris yang berisi string atau pola.
  • Cari 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 penggunaan perintah grep cukup sederhana:

grep pattern FILE

Misalnya, untuk mencari string ‘Linux‘ dalam sebuah file, katakanlah, 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 tingkat lanjut.

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, perintah sed mencetak output ke STDOUT (Standard Out), yang menyiratkan bahwa hasil eksekusi dicetak di terminal, bukan di terminal. sedang disimpan dalam sebuah 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 mengalihkan keluaran alih-alih mencetaknya di terminal, gunakan tanda pengalihan ( > ) seperti yang ditunjukkan.

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

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

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

man sed

3. Perintah Terima

Ack adalah alat baris perintah yang cepat dan portabel yang ditulis dalam Perl. Ack dianggap sebagai pengganti utilitas grep dan outputnya menghasilkan tampilan yang menarik secara visual.

Perintah Ack mencari file atau direktori untuk baris yang berisi kecocokan dengan kriteria pencarian. Kemudian menyorot string yang cocok di baris.
Ack memiliki kapasitas untuk membedakan file berdasarkan ekstensi filenya, dan sampai batas tertentu, konten di dalam file.

Sintaks perintah ack:

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

Misalnya, untuk memeriksa istilah pencarian Linux, jalankan:

ack Linux hello.txt

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

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

ack Linux

Untuk menginstal 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. Ketika string atau pola ditemukan, awk mengambil tindakan pada kecocokan atau garis tersebut dan mencetak hasilnya di STDOUT.

Pola AWK diapit di antara kurung kurawal sedangkan keseluruhan program diapit tanda kutip tunggal.

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

date

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

date | awk '{print $1}'

Untuk menampilkan nilai berikutnya, pisahkan nilai tersebut menggunakan koma seperti yang ditunjukkan:

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

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

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

5. Pencari Perak

Silver searcher adalah alat pencarian kode lintas platform dan sumber terbuka yang mirip dengan ack tetapi dengan penekanan pada kecepatan. Ini memudahkan Anda mencari string tertentu di 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. Ripgrep 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 melewati file biner/file dan direktori tersembunyi. Perlu diketahui juga bahwa secara default, ia tidak akan mencari file yang diabaikan oleh file .gitignore/.ignore/.rgignore.

Ripgrep juga memungkinkan Anda mencari jenis file tertentu. Misalnya, untuk membatasi pencarian Anda pada file Javascript yang dijalankan:

rg -Tsj

Sintaks penggunaan ripgrep cukup mudah:

rg [OPTIONS] PATTERN [PATH...]

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

rg Linux

Untuk menginstal 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 Anda rasa tertinggal, beri tahu kami di bagian komentar.