Cara Menulis Script Menggunakan Bahasa Pemrograman Awk - Part 13


Sejak awal seri Awk hingga Bagian 12, kami telah menulis perintah dan program Awk kecil pada baris perintah dan skrip shell.

Namun, Awk, sama seperti Shell, juga merupakan bahasa interpretasi, oleh karena itu, dengan semua yang telah kita lalui sejak awal seri ini, Anda kini dapat menulis skrip Awk yang dapat dieksekusi.

Mirip dengan cara kita menulis skrip shell, skrip Awk dimulai dengan baris:

#! /path/to/awk/utility -f 

Misalnya pada sistem saya, utilitas Awk terletak di /usr/bin/awk, oleh karena itu, saya akan memulai skrip Awk sebagai berikut:

#! /usr/bin/awk -f 

Menjelaskan baris di atas:

  1. #! – disebut sebagai Shebang, yang menentukan penerjemah untuk instruksi dalam skrip
  2. /usr/bin/awk – adalah penerjemahnya
  3. -f – opsi juru bahasa, digunakan untuk membaca file program

Karena itu, sekarang mari kita lihat beberapa contoh skrip Awk yang dapat dieksekusi, kita bisa mulai dengan skrip sederhana di bawah ini. Gunakan editor favorit Anda untuk membuka file baru sebagai berikut:

vi script.awk

Dan paste kode di bawah ini pada file:

#!/usr/bin/awk -f 
BEGIN { printf "%s\n","Writing my first Awk executable script!" }

Simpan file dan keluar, lalu buat skrip dapat dieksekusi dengan mengeluarkan perintah di bawah ini:

chmod +x script.awk

Setelah itu, jalankan:

./script.awk
Contoh Keluaran
Writing my first Awk executable script!

Seorang programmer yang kritis di luar sana pasti bertanya, “di mana komentarnya? ”, ya, Anda juga bisa memasukkan komentar di skrip Awk Anda. Menulis komentar dalam kode Anda selalu merupakan praktik pemrograman yang baik.

Ini membantu pemrogram lain melihat kode Anda untuk memahami apa yang ingin Anda capai di setiap bagian skrip atau file program.

Oleh karena itu, Anda dapat menyertakan komentar pada script di atas sebagai berikut.

#!/usr/bin/awk -f 

#This is how to write a comment in Awk
#using the BEGIN special pattern to print a sentence 

BEGIN { printf "%s\n","Writing my first Awk executable script!" }

Selanjutnya, kita akan melihat contoh di mana kita membaca input dari sebuah file. Kita ingin mencari pengguna sistem bernama aaronkilik di file akun, /etc/passwd, lalu mencetak nama pengguna, ID pengguna, dan pengguna GID sebagai berikut:

Di bawah ini adalah konten skrip kami yang disebut second.awk.

#! /usr/bin/awk -f 

#use BEGIN sepecial character to set FS built-in variable
BEGIN { FS=":" }

#search for username: aaronkilik and print account details 
/aaronkilik/ { print "Username :",$1,"User ID :",$3,"User GID :",$4 }

Simpan file dan keluar, buat skrip dapat dieksekusi dan jalankan seperti di bawah ini:

chmod +x second.awk
./second.awk /etc/passwd
Contoh Keluaran
Username : aaronkilik User ID : 1000 User GID : 1000

Pada contoh terakhir di bawah, kita akan menggunakan pernyataan do while untuk mencetak angka dari 0-10:

Di bawah ini adalah isi skrip kami yang disebut do.awk.

#! /usr/bin/awk -f 

#printing from 0-10 using a do while statement 
#do while statement 
BEGIN {
#initialize a counter
x=0

do {
    print x;
    x+=1;
}
while(x<=10)
}

Setelah menyimpan file, buat skrip dapat dieksekusi seperti yang telah kita lakukan sebelumnya. Setelah itu, jalankan:

chmod +x do.awk
./do.awk
Contoh Keluaran
0
1
2
3
4
5
6
7
8
9
10

Ringkasan

Kita telah sampai pada akhir dari seri Awk yang menarik ini, saya harap Anda telah belajar banyak dari ke-13 bagian tersebut, sebagai pengenalan bahasa pemrograman Awk.

Seperti yang saya sebutkan dari awal, Awk adalah bahasa pemrosesan teks yang lengkap, oleh karena itu, Anda dapat mempelajari lebih banyak aspek lain dari bahasa pemrograman Awk seperti variabel lingkungan, array, fungsi (bawaan & ditentukan pengguna) dan seterusnya.

Masih ada bagian tambahan dari pemrograman Awk yang harus dipelajari dan dikuasai, jadi, di bawah ini, saya telah menyediakan beberapa tautan ke sumber online penting yang dapat Anda gunakan untuk mengembangkan keterampilan pemrograman Awk Anda, belum tentu hanya ini yang Anda perlukan, Anda juga dapat melihat mencari buku pemrograman Awk yang berguna.

Tautan Referensi: Panduan Pengguna GNU Awk dan Pemrograman Bahasa AWK

Untuk pemikiran apa pun yang ingin Anda bagikan atau pertanyaan, gunakan formulir komentar di bawah. Ingatlah untuk selalu terhubung dengan Tecmint untuk serial menarik lainnya.