Cari string atau pola dalam teks biasa dari terminal

tentang mencari string atau pola

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 teks

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:

Perintah sed

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.

keluaran perintah sed

Untuk melihat lebih banyak opsi, Anda bisa lihat halaman manual:

pria haus

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):

instal ack

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:

perintah pencarian ack

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:

pencarian ack tanpa file

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):

instalasi ripgrep

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:

manrg linux

rg Linux

Untuk melihat lebih banyak pilihan, pengguna dapat menggunakan halaman manual:

pria rg

man rg

Penelusur Perak

untuk instal alat ini, di Ubuntu kita hanya perlu membuka terminal (Ctrl + Alt + T) dan menulis perintah:

instalasi silversearcher-ag

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):

cari dengan silversearcher

ag Linux texto.txt

Untuk melihat lebih banyak opsi, kita dapat berkonsultasi dengan halaman manual:

pria periset perak

man ag

Ini hanyalah beberapa alat baris perintah yang paling umum digunakan untuk mencari, memfilter, dan memanipulasi teks di Linux.


Jadilah yang pertama mengomentari

tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.