Tutorial Ekspresi Reguler Linux: Contoh Regex Grep

Daftar Isi:

Anonim

Apa itu Ekspresi Reguler Linux?

Ekspresi Reguler Linux adalah karakter khusus yang membantu pencarian data dan pencocokan pola kompleks. Ekspresi reguler disingkat menjadi 'regexp' atau 'regex'. Mereka digunakan di banyak program Linux seperti grep, bash, rename, sed, dll.

Jenis ekspresi Reguler

Untuk memudahkan pemahaman mari kita pelajari berbagai jenis Regex satu per satu.

  • Ekspresi Reguler Dasar
  • Ekspresi Reguler Interval
  • Ekspresi reguler yang diperluas
  • Ringkasan

Klik di sini jika video tidak dapat diakses

Ekspresi Reguler Dasar

Beberapa perintah yang umum digunakan dengan ekspresi Reguler adalah tr, sed, vi dan grep. Di bawah ini adalah beberapa Regex dasar.

Simbol Deskripsi
. menggantikan karakter apapun
cocok dengan awal string
$ cocok dengan akhir string
* cocok dengan nol atau lebih kali karakter sebelumnya
\ Mewakili karakter khusus
() Kelompokkan ekspresi reguler
? Cocok persis dengan satu karakter

Mari kita lihat contohnya.

Jalankan sampel kucing untuk melihat konten file yang ada

Cari konten yang mengandung huruf 'a'.

' ^ ' cocok dengan awal string. Mari mencari konten yang DIMULAI dengan file

Hanya baris yang dimulai dengan karakter yang difilter. Baris yang tidak berisi karakter 'a' di awal akan diabaikan.

Mari kita lihat contoh lain -

Pilih hanya baris yang diakhiri dengan t menggunakan $

Ekspresi Reguler Interval

Ekspresi ini memberi tahu kita tentang jumlah kemunculan karakter dalam sebuah string. Mereka

Ekspresi Deskripsi
{n}

Cocok dengan karakter sebelumnya yang muncul tepat 'n' kali

{n, m} Cocok dengan karakter sebelumnya yang muncul 'n' kali tetapi tidak lebih dari m
{n,} Mencocokkan karakter sebelumnya hanya jika muncul 'n' kali atau lebih

Contoh:

Filter semua baris yang mengandung karakter 'p'

Kami ingin memeriksa bahwa karakter 'p' muncul tepat 2 kali dalam string satu demi satu. Untuk ini sintaksnya adalah:

cat sample | grep -E p\{2}

Catatan: Anda perlu menambahkan -E dengan ekspresi reguler ini.

Ekspresi reguler yang diperluas

Ekspresi reguler ini berisi kombinasi lebih dari satu ekspresi. Beberapa dari mereka adalah:

Ekspresi Deskripsi

\ +

Cocok dengan satu atau lebih kemunculan karakter sebelumnya

\?

Mencocokkan nol atau satu kemunculan karakter sebelumnya

Contoh:

Mencari semua karakter 't'

Misalkan kita ingin memfilter baris di mana karakter 'a' mendahului karakter 't'

Kita bisa menggunakan perintah seperti

cat sample|grep "a\+t"

Ekspansi brace

Sintaks untuk perluasan tanda kurung kurawal adalah urutan atau daftar item yang dipisahkan koma di dalam tanda kurung kurawal "{}". Item awal dan akhir secara berurutan dipisahkan oleh dua titik "…".

Beberapa contoh:

Dalam contoh di atas, perintah echo membuat string menggunakan ekspansi brace.

Ringkasan:

  • Ekspresi reguler adalah sekumpulan karakter yang digunakan untuk memeriksa pola dalam string
  • Mereka juga disebut 'regexp' dan 'regex'
  • Penting untuk mempelajari ekspresi reguler untuk menulis skrip
  • Beberapa ekspresi reguler dasar adalah:
Simbol Deskripsi
. menggantikan karakter apapun
cocok dengan awal string
$ cocok dengan akhir string
  • Beberapa ekspresi reguler yang diperluas adalah:
Ekspresi Deskripsi
\ + Cocok dengan satu atau lebih kemunculan karakter sebelumnya
\? Mencocokkan nol atau satu kemunculan karakter sebelumnya
  • Beberapa ekspresi reguler interval adalah:
Ekspresi Deskripsi
{n} Cocok dengan karakter sebelumnya yang muncul tepat 'n' kali
{n, m} Cocok dengan karakter sebelumnya yang muncul 'n' kali tetapi tidak lebih dari m
{n,} Mencocokkan karakter sebelumnya hanya jika muncul 'n' kali atau lebih
  • Ekspansi brace digunakan untuk menghasilkan string. Ini membantu dalam membuat beberapa string dari satu.