Panduan Mendalam untuk Menggunakan =~ Operator di Bash

  • Post author:
  • Post category:Tutorial

Dalam dunia skrip Bash, ada berbagai operator yang dapat kita gunakan yang memberdayakan kita untuk memanipulasi, membandingkan, dan menguji data. Salah satu operator tersebut adalah operator `=~`. Sering diabaikan tetapi sangat kuat, operator ini memberi kita sarana untuk mencocokkan pola string menggunakan ekspresi reguler. Artikel ini mendalami penerapan praktis operator `=~` di Bash.
AdvertisementMemahami =~ Operator

Operator `=~` adalah fitur khusus Bash yang digunakan dalam ekspresi bersyarat. Penggunaan utamanya adalah membandingkan string dengan pola ekspresi reguler. Jika string cocok dengan pola, operator mengembalikan 0 (benar), dan jika tidak, mengembalikan 1 (salah).
Sintaks dari =~ Operator

Sintaksnya sangat mudah. Operator `=~` digunakan dalam [[ dan ]], dan string serta ekspresi reguler adalah operannya, seperti yang ditunjukkan di bawah ini:

[[ string =~ ekspresi_reguler ]]1[[string=~ ekspresi_regular]]
Jika string cocok dengan ekspresi reguler, status keluar dari operasi adalah 0; jika tidak, ini adalah 1.
Aplikasi Praktis dari =~ Operator

Sekarang mari selami beberapa contoh praktis untuk melihat bagaimana operator `=~` dapat diterapkan.
Contoh 1: Pencocokan Pola Sederhana

Mari kita mulai dengan contoh dasar. Kami memiliki string yang bertuliskan “Welcome to Bash scripting,” dan kami ingin melihat apakah string tersebut berisi kata “Bash.”

#!/bin/bash

str=”Selamat datang di skrip Bash”

if [[ $str =~ Bash ]]; Kemudian
echo “String berisi kata Bash.”
kalau tidak
echo “String tidak mengandung kata Bash.”
fi123456789#!/bin/bash str=”Welcome to Bash scripting” if[[$str=~Bash]];then    echo”String berisi kata Bash.”else    echo”String tidak mengandung kata Bash.” fi

Ketika kita menjalankan skrip ini, itu akan menampilkan “String berisi kata Bash.”
Contoh 2: Menggunakan Ekspresi Reguler

Salah satu keuntungan signifikan dari operator `=~` adalah memungkinkan pencocokan pola ekspresi reguler. Misalkan kita ingin memeriksa apakah sebuah string mengandung angka apapun. Inilah cara kami melakukannya:

#!/bin/bash

str=”Pesan 5 pizza”

if [[ $str =~ [0-9]+ ]]; Kemudian
echo “String berisi angka.”
kalau tidak
echo “String tidak mengandung angka.”
fi123456789#!/bin/bash str=”Pesan 5 pizza” if[[$str=~[0-9]+]];then    echo”String berisi digit.”else    echo”String tidak berisi digit .”fi

Ekspresi `[[ $str =~ [0-9]+ ]]` akan memeriksa satu atau lebih kemunculan digit apa pun (0-9) dalam string. Skrip akan mencetak “String berisi angka.”
Contoh 3: Mengekstrak Kecocokan

Operator `=~` juga dapat digunakan untuk mengekstrak kecocokan. Saat kecocokan ditemukan, variabel array BASH_REMATCH diisi dengan bagian dari string yang cocok dan setiap grup yang diambil cocok. /bin/bash

tanggal=”23-05-2023″
regex=”([0-9]{2})-([0-9]{2})-([0-9]{4})”

if [[ $tanggal =~ $regex ]]; Kemudian
hari=${BASH_REMATCH[1]}
bulan=${BASH_REMATCH[2]}
tahun=${BASH_REMATCH[3]}
echo “Hari: $hari, Bulan: $bulan, Tahun: $tahun”
fi1234567891011#!/bin/bash date=”23-05-2023″regex=”([0-9]{2})-([0-9]{2})-([0-9]{4} )” if[[$date=~$regex]];then  hari=${BASH_REMATCH[1]}  bulan=${BASH_REMATCH[2]}  tahun=${BASH_REMATCH[3]}  echo”Hari: $hari, Bulan : $bulan, Tahun: $tahun”fi

Dalam skrip ini, ekspresi reguler ([0-9]{2})-([0-9]{2})-([0-9]{4}) akan cocok format tanggal dd-mm-yyyy, dan larik BASH_REMATCH akan menampung grup yang cocok. Skrip akan mencetak “Hari: 23, Bulan: 05, Tahun: 2023”.
Kesimpulan

Operator `=~` adalah alat yang sangat serbaguna untuk skrip Bash. Dengan memahami dan memanfaatkan kekuatan operator ini, Anda dapat menggabungkan pencocokan pola string kompleks dan logika ekspresi reguler ke dalam skrip Anda. Ingatlah untuk menggunakannya dalam tanda kurung ganda `[[“]]` dan selalu uji skrip Anda untuk memastikan bahwa ekspresi reguler Anda berfungsi seperti yang diharapkan. Selamat membuat skrip!

Referensi tecadmin.com