awk

Cara Menggunakan Regex dengan Perintah 'awk'

Cara Menggunakan Regex dengan Perintah 'awk'

Ekspresi reguler (regex) digunakan untuk menemukan urutan karakter tertentu dalam file. Simbol seperti huruf, angka, dan karakter khusus dapat digunakan untuk menentukan pola. Berbagai tugas dapat dengan mudah diselesaikan dengan menggunakan pola regex. Dalam tutorial ini, kami akan menunjukkan cara menggunakan pola regex dengan perintah 'awk'.

Karakter dasar yang digunakan dalam pola

Banyak karakter dapat digunakan untuk mendefinisikan pola regex. Karakter yang paling umum digunakan untuk mendefinisikan pola regex didefinisikan di bawah ini:.

Karakter Deskripsi
. Cocokkan karakter apa pun tanpa baris baru (\n)
\ Mengutip meta-karakter baru
^ Cocokkan awal baris
$ Mencocokkan akhir baris
| Tentukan alternatif
() Tentukan grup
[] Tentukan kelas karakter
\w Cocokkan kata apa saja
\s Cocokkan karakter spasi apa pun
\d Cocokkan digit apa pun
\b Cocokkan batas kata apa pun

Buat file

Untuk mengikuti tutorial ini, buat file teks bernama produk.txt. File harus berisi empat bidang: ID, Nama, Jenis, dan Harga.

Nama ID Jenis Harga

p1001 15"Monitor Monitor $100

p1002 A4tech Mouse Mouse $10

p1003 Printer Printer Samsung $50

p1004 Pemindai Pemindai HP $60

p1005 Logitech Mouse Mouse $15

Contoh 1: Tentukan pola regex menggunakan kelas karakter

Perintah 'awk' berikut akan mencari dan mencetak baris yang berisi karakter 'n' diikuti dengan karakter 'er'.

$ produk kucing.txt
$ awk '/[n][er]/ print $0' produk.txt

Output berikut akan dihasilkan setelah menjalankan perintah di atas:. Outputnya menunjukkan garis yang cocok dengan polanya. Di sini, hanya satu garis yang cocok dengan polanya.

Contoh 2: Tentukan pola regex menggunakan simbol '^'

Perintah 'awk' berikut akan mencari dan mencetak baris yang diawali dengan karakter 'p' dan menyertakan angka 3.

$ produk kucing.txt
$ awk '/^p.*3/ cetak $0' produk.txt

Output berikut akan dihasilkan setelah menjalankan perintah di atas:. Di sini, ada satu garis yang cocok dengan polanya.

Contoh 3: Tentukan pola regex menggunakan fungsi gsub

Itu gsub() fungsi digunakan untuk mencari dan mengganti teks secara global globally. Perintah 'awk' berikut akan mencari kata 'Scanner' dan menggantinya dengan kata 'Router' sebelum mencetak hasilnya.

$ produk kucing.txt
$ awk 'gsub(/Scanner/, "Router")'  produk.txt

Output berikut akan dihasilkan setelah menjalankan perintah di atas:. Ada satu baris yang mengandung kata 'Pemindai', dan 'Pemindai' diganti dengan kata 'Router' sebelum garis dicetak.

Contoh 4: Tentukan pola regex dengan '*'

Perintah 'awk' berikut akan mencari dan mencetak string apa pun yang dimulai dengan 'Mo' dan menyertakan karakter berikutnya.

$ produk kucing.txt
$ awk '/Mo*/ print $0' produk.txt

Output berikut akan dihasilkan setelah menjalankan perintah di atas:. Tiga baris cocok dengan pola: dua baris berisi kata 'Mouse' dan satu baris berisi kata 'Memantau'.

Contoh 5: Tentukan pola regex menggunakan simbol '$'

Perintah 'awk' berikut akan mencari dan mencetak baris pada file yang diakhiri dengan angka 5.

$ produk kucing.txt
$ awk '/5$/ print $0' produk.txt

Output berikut akan dihasilkan setelah menjalankan perintah di atas:.  Hanya ada satu baris dalam file yang diakhiri dengan angka 5.

Contoh 6: Tentukan pola regex menggunakan '^' dan '|' simbol

'^' simbol menunjukkan awal dari sebuah garis, dan '|' simbol menunjukkan pernyataan OR logis. Perintah 'awk' berikut akan mencari dan mencetak baris yang diawali dengan karakter 'p' dan mengandung baik 'Pemindai' atau 'Mouse'.

$ produk kucing.txt
$ awk '/^p.* (Pemindai|Mouse)/' produk.txt

Output berikut akan dihasilkan setelah menjalankan perintah di atas:. Output menunjukkan bahwa dua baris berisi kata 'Mouse' dan satu baris berisi kata 'Pemindai'. Tiga baris dimulai dengan karakter 'p'.

Contoh 7: Tentukan pola regex menggunakan simbol '+'

'+' operator digunakan untuk menemukan setidaknya satu kecocokan. Perintah 'awk' berikut akan mencari dan mencetak baris yang berisi karakter 'tidak' setidaknya sekali.

$ produk kucing.txt
$ awk '/n+/print' produk.txt

Output berikut akan dihasilkan setelah menjalankan perintah di atas:. Di sini, karakter 'tidak' berisi terjadi setidaknya sekali dalam baris yang berisi kata-kata Monitor, Printer, dan Pemindai.

Contoh 8: Tentukan pola regex menggunakan fungsi gsub()

Perintah 'awk' berikut akan secara global mencari kata 'Pencetak' dan ganti dengan kata 'Memantau' menggunakan fungsi gsub().

$ produk kucing.txt
$ awk 'gsub(/Printer/, “Monitor”) print$0' produk.txt

Output berikut akan dihasilkan setelah menjalankan perintah di atas:. Baris keempat file berisi kata 'Pencetak' dua kali, dan dalam output, 'Pencetak' telah diganti dengan kata 'Memantau'.

Kesimpulan

Banyak simbol dan fungsi yang dapat digunakan untuk mendefinisikan pola regex untuk tugas pencarian dan penggantian yang berbeda. Beberapa simbol yang biasa digunakan dalam pola regex diterapkan dalam tutorial ini dengan perintah 'awk'.

Cara Menggunakan Xdotool untuk Merangsang Klik Mouse dan Keystroke di Linux
Xdotool adalah alat baris perintah sumber terbuka dan gratis untuk mensimulasikan klik mouse dan penekanan tombol. Artikel ini akan membahas panduan s...
5 Produk Mouse Komputer Ergonomis Terbaik untuk Linux
Apakah penggunaan komputer yang lama menyebabkan rasa sakit di pergelangan tangan atau jari Anda?? Apakah Anda menderita persendian yang kaku dan teru...
Cara Mengubah Pengaturan Mouse dan Touchpad Menggunakan Xinput di Linux
Sebagian besar distribusi Linux dikirimkan dengan pustaka "libinput" secara default untuk menangani kejadian input pada sistem. Ini dapat memproses ke...