Pada artikel berikut kita akan melihat beberapa alat baris perintah yang digunakan untuk menemukan string atau pola yang cocok dalam file teks. Alat ini umumnya digunakan bersama dengan ekspresi reguler, disingkat REGEX, yang merupakan string unik untuk mendeskripsikan pola pencarian.
Ekspresi reguler adalah pola yang digunakan untuk menemukan kombinasi karakter tertentu dalam string teks. Ekspresi reguler memberikan cara yang sangat fleksibel untuk mencari atau mengenali string teks. Meskipun pada baris berikut kita tidak akan melihat ekspresi reguler, kita akan menggunakan pola atau string.
Cari string atau pola dari terminal
Perintah grep
Grep adalah singkatan dari Cetak Ekspresi Reguler Global. Ini adalah alat baris perintah yang berguna saat mencari string atau pola tertentu dalam file. Dengan grep kami akan dapat menggunakan berbagai fungsi, seperti yang dijelaskan oleh kolega kepada kami di blog ini beberapa waktu yang lalu.
Sintaks untuk menggunakan perintah grep cukup sederhana:
grep PATRON [RUTA AL ARCHIVO]
Misalnya, untuk mencari string 'Ubuntu'dalam file yang dalam contoh ini akan kita panggil text.txt, tanpa memperhitungkan perbedaan antara huruf besar dan kecil, di terminal (Ctrl + Alt + T) kita hanya perlu menjalankan perintah:
grep -i Ubuntu texto.txt
Perintah sed
Haus adalah kependekan dari Editor Aliran. Ini adalah alat lain yang berguna untuk terminal yang dengannya kita dapat memanipulasi teks dalam sebuah file. Sed mencari, memfilter, dan mengganti string dalam file tertentu.
Perintah sed secara default mencetak keluaran dalam STDOUT (Output standar). Ini menyiratkan bahwa hasil eksekusi dicetak ke terminal alih-alih disimpan ke file.
Perintah Sed dapat digunakan sebagai berikut:
sed -OPCIONES COMANDO [RUTA AL ARCHIVO]
Misalnya, untuk mengganti semua kemunculan 'Linux'dalam teks oleh'Linux', perintah yang akan digunakan adalah sebagai berikut:
sed 's/Linux/GnuLinux/g' texto.txt
Jika yang kita cari adalah mengarahkan kembali output ke file alih-alih mencetaknya ke terminal, kita akan menggunakan tanda redirect sebagai berikut:
sed 's/Linux/GnuLinux/g' texto.txt > salida.txt
Output dari perintah disimpan dalam file output.txt bukannya dicetak di layar.
Untuk melihat lebih banyak opsi, Anda bisa lihat halaman manual:
man sed
Aku
Ack adalah alat baris perintah cepat yang ditulis di Perl. Ini dianggap sebagai pengganti ramah untuk utilitas grep, yang juga memberikan hasil dengan cara yang menarik secara visual.
untuk instal ack di sistem kami, kami harus mengeksekusi di terminal (Ctrl + Alt + T):
sudo apt install ack
Perintah Ack mencari file atau direktori untuk baris yang berisi kecocokan untuk kriteria pencarian. Kemudian sorot string yang sesuai. Alat ini memiliki kemampuan untuk membedakan file berdasarkan ekstensinya.
Sintaks perintah Ack akan menjadi seperti berikut
ack [OPCIONES] PATRÓN [RUTA AL ARCHIVO]
Misalnya untuk mencari istilah Linux dalam sebuah file, kita harus mengeksekusi:
ack Linux texto.txt
Alat pencarian cukup pintar dan jika pengguna tidak menyediakan file atau direktori apa pun, ia mencari direktori dan subdirektori saat ini untuk pola pencarian.
Dalam contoh berikut, tidak ada file atau direktori yang disediakan. Ack secara otomatis mendeteksi file yang tersedia di direktori dan mencari pola yang cocok:
ack Linux
ripgrep
ripgrep adalah utilitas lintas platform untuk mencari pola ekspresi reguler. Ini lebih cepat daripada semua alat pencarian yang disebutkan di atas, dan mencari direktori secara rekursif untuk pola yang cocok. Ini juga memungkinkan Anda untuk mencari jenis file tertentu. Secara default, ripgrep akan melewati binari dan file / direktori tersembunyi.
untuk instal ripgrep pada sistem, yang harus Anda lakukan adalah menjalankan perintah berikut di terminal (Ctrl + Alt + T):
sudo apt install ripgrep
Sintaks untuk menggunakan ripgrep cukup mudah:
rg [OPCIONES] PATRÓN [RUTA AL ARCHIVO]
Jika kita ingin mencari rantai 'Linux'di file yang terletak di dalam direktori saat ini, kita hanya perlu menjalankan perintah:
rg Linux
Untuk melihat lebih banyak pilihan, pengguna dapat menggunakan halaman manual:
man rg
Penelusur Perak
untuk instal alat ini, di Ubuntu kita hanya perlu membuka terminal (Ctrl + Alt + T) dan menulis perintah:
sudo apt install silversearcher-ag
Silver Searcher adalah alat pencarian sumber terbuka lintas platform yang mirip dengan ACK tetapi dengan penekanan pada kecepatan. Itu membuatnya mudah untuk menemukan string tertentu di dalam file dalam waktu sesingkat mungkin. Sintaks yang akan digunakan adalah:
ag OPCIONES PATRÓN_DE_BÚSQUEDA /ruta/al/archivo
Misalnya, untuk mencari 'Linux'di File text.txt, kita harus menulis di terminal (Ctrl + Alt + T):
ag Linux texto.txt
Untuk melihat lebih banyak opsi, kita dapat berkonsultasi dengan halaman manual:
man ag
Ini hanyalah beberapa alat baris perintah yang paling umum digunakan untuk mencari, memfilter, dan memanipulasi teks di Linux.