- Home
- »
- Scripting & Automasi
- »
- Bash Basic
- »
- Bash #37 Regular Expression for Pattern Search
Share:
Table of Contents

🖥️ Pengantar
Ekspresi reguler (regular expressions atau regex) adalah alat yang sangat berguna untuk pencocokan pola dalam teks. Dengan regex, kita dapat mencari, mengganti, atau memfilter teks dalam file dan output perintah di Bash.
Artikel ini akan membahas:
Mengenal Ekspresi Reguler dalam Bash – Konsep dasar dan kegunaan regex.
Sintaks Dasar Regex dalam Bash – Cara menulis pola pencarian regex.
Menggunakan Regex dengan grep, sed, dan awk – Implementasi dalam berbagai alat Bash.
Contoh Implementasi Regex dalam Skrip Bash – Studi kasus praktis.
Praktik Terbaik dalam Menggunakan Regex – Teknik lanjutan untuk scripting yang lebih efisien.
Mari kita bahas satu per satu! 🚀
📌 1. Mengenal Ekspresi Reguler dalam Bash
Ekspresi reguler memungkinkan kita mencocokkan pola teks berdasarkan aturan tertentu.
🔹 Keuntungan Menggunakan Regex:
Mencari dan mengekstrak pola tertentu dalam teks.
Menghapus atau memodifikasi bagian teks secara otomatis.
Menghemat waktu dalam pemrosesan data berbasis teks.
📌 2. Sintaks Dasar Regex dalam Bash
Berikut adalah beberapa elemen dasar regex yang sering digunakan:
Simbol | Deskripsi |
. | Mencocokkan satu karakter apa pun |
* | Mencocokkan nol atau lebih karakter sebelumnya |
+ | Mencocokkan satu atau lebih karakter sebelumnya |
? | Mencocokkan nol atau satu karakter sebelumnya |
^ | Mencocokkan awal baris |
$ | Mencocokkan akhir baris |
[abc] | Mencocokkan salah satu karakter dalam tanda kurung |
[^abc] | Mencocokkan karakter yang tidak ada dalam tanda kurung |
\d | Mencocokkan digit angka (hanya dalam grep -P) |
\s | Mencocokkan spasi atau tab |
\w | Mencocokkan huruf, angka, atau garis bawah |
📌 3. Menggunakan Regex dengan grep, sed, dan awk
Ekspresi reguler sering digunakan dalam perintah seperti grep, sed, dan awk untuk memfilter dan memproses teks.
🔹 Mencari Pola dengan grep
grep “error” log.txt |
📌 Catatan:
Mencari kata “error” dalam file log.txt.
🔹 Menggunakan Regex dengan grep -E (Extended Regex)
grep -E “[0-9]{3}-[0-9]{3}-[0-9]{4}” contacts.txt |
📌 Catatan:
Mencari pola nomor telepon dalam format XXX-XXX-XXXX.
🔹 Menggunakan Regex dengan sed untuk Mengganti Teks
sed ‘s/[0-9]/#/g’ data.txt |
📌 Catatan:
Mengganti semua angka dalam file data.txt dengan tanda #.
🔹 Menggunakan Regex dengan awk untuk Memfilter Teks
awk ‘/^ERROR/ {print $0}’ log.txt |
📌 Catatan:
Menampilkan semua baris dalam log.txt yang diawali dengan “ERROR”.
📌 4. Contoh Implementasi Regex dalam Skrip Bash
Berikut adalah beberapa studi kasus penggunaan regex dalam skrip Bash.
🔹 Contoh: Memvalidasi Alamat Email
read -p “Masukkan email: “ email |
📌 Catatan:
=~ digunakan untuk mencocokkan regex dalam Bash.
🔹 Contoh: Menemukan Baris yang Mengandung Angka
grep -E “[0-9]+” file.txt |
📌 Catatan:
Menampilkan semua baris dalam file.txt yang mengandung angka.
🔹 Contoh: Menghapus Karakter Non-Alfabet dari File
sed ‘s/[^a-zA-Z ]//g’ file.txt |
📌 Catatan:
Menghapus semua karakter selain huruf dan spasi.
📌 5. Praktik Terbaik dalam Menggunakan Regex
✅ Gunakan Regex yang Efisien untuk Mencegah Overhead:
grep “^[A-Z]” file.txt |
📌 Catatan:
Mencari baris yang diawali huruf kapital dengan cara yang optimal.
✅ Gunakan Regex dalam Skrip untuk Automasi Validasi Data:
if [[ $input =~ ^[0-9]+$ ]]; then |
✅ Gunakan grep -P untuk Mendukung Perl-Compatible Regex:
grep -P “\d{4}-\d{2}-\d{2}” dates.txt |
📌 Catatan:
Mendukung ekspresi reguler yang lebih kompleks seperti \d untuk digit.
📌 Kesimpulan
Ekspresi reguler dalam Bash memungkinkan kita mencari, mengganti, dan memfilter teks dengan pola tertentu. Dalam artikel ini, kita telah membahas:
✅ Sintaks dasar regex dan pola pencarian. ✅ Implementasi regex dalam grep, sed, dan awk. ✅ Contoh penerapan dalam validasi email, analisis teks, dan pemrosesan file. ✅ Praktik terbaik dalam penggunaan regex dalam skrip Bash.
Artikel Selanjutnya: 🔄 Dry Run Technique – Menjalankan skrip dalam mode uji coba tanpa benar-benar mengeksekusi perintah yang dapat mengubah sistem.
📚 Daftar Pustaka
Shotts, W. E. (2019). The Linux Command Line: A Complete Introduction. No Starch Press.
GNU grep Manual (2023). GNU grep, sed & awk Documentation. Retrieved from https://www.gnu.org/software/grep/manual/
Linux Documentation Project. (2023). Regex Guide for Beginners. Retrieved from https://tldp.org/LDP/regex/html/