Apa siy sebenarnya ‘awk’ itu? AWK adalah sebuah utility filter untuk memanipulasi file teks. AWK sendiri merupakan singkatan dari nama-nama belakang penciptanya, yaitu Alfred V. Aho, Peter J. Weinberger dan Brian W. Kernighan.
AWK merupakan bahasa pemrograman yang dapat digunakan untuk tugas-tugas manipulasi data. AWK dikembangkan pada tahun 1977 di laboratorium AT&T sebagai bagian dari dari percobaan terhadap grep dan sed. Dengan kemampuan untuk menerima suatu pattern matching, kita dapat memanfaatkan AWK untuk mengembangkan sebuah aplikasi script yang dapat memanipulasi data dengan mudah.
AWK adalah bahasa pemrograman yang digunakan untuk memanipulasi teks. Meskipun operasinya bisa sangat kompleks, sintaks untuk awk selalu :
Beberapa contoh penggunaan instruksi AWK :
bash-3.00$ date
Mon Apr 14 23:53:40 WIT 2008
bash-3.00$ date | awk ‘{print $4}’
23:54:12
bash-3.00$ date | awk ‘{print $3,$2}’
14 Apr
bash-3.00$ date | awk ‘{print $3$2}’
14Apr
bash-3.00$ date | awk ‘{print “DATE: ” $3,$2, “TIME :” $4}’
DATE: 14 Apr TIME :23:55:59
bash-3.00$ date | awk ‘{print $0}’
Mon Apr 14 23:56:15 WIT 2008
Dari contoh diatas, dapat disimpulkan bahwa AWK secara default memisahkan tiap field dari sebuah record dengan delimiter spasi/tab. Field pertama merupakan $1 dan field terakhir adalah $n. Sedangkan $0 dapat diartikan merupakan keseluruhan sebuah record. Owh ya, kita bisa menggunakan perintah {print} untuk menampilkan suatu field atau record. Dalam command print sendiri kita dapat menggunakan beberapa variasi seperti contoh di atas.
Kita juga dapat mengubah separator antar field sesuai keinginan, caranya dengan menggunakan option -F dan menentukan karakter apa yang akan kita gunakan sebagai separatornya. Sebagai contoh kita gunakan file /etc/passwd yang berisi data all user dalam system. Jika kita ingin menampilkan home direktori dari semua user dalam system, bisa kita gunakan perintah sbb :
awk < /etc/passwd -F: ‘{print $6}’
Maksud dari perintah tsb adalah menampilkan field/column ke 6 (’{print $6}’) dari sebuah file (etc/passwd) yang tiap fieldnya dipisahkan oleh karakter titik-dua (-F:).
Selain itu, ‘awk’ juga dapat digunakan dalam operasi aritmatika, seperti penjumlahan (+), pengurangan (-), perkalian (*), pembagian (/), sisa pembagian/modulus (%), dsb. Untuk penggunaannya, bisa dilihat pada contoh berikut :
bash-3.00$ echo 2 3 | awk ‘{print $1 + $2}’
5
bash-3.00$ echo 2 3 | awk ‘{print $1 - $2}’
-1
bash-3.00$ echo 2 3 | awk ‘{print $1 * $2}’
6
bash-3.00$ echo 2 3 | awk ‘{print $1 / $2}’
0.666667
bash-3.00$ echo 5 3 | awk ‘{print $1 % $2}’
2
Semua fungsi-fungsi yang dimiliki oleh ‘awk’ juga dapat digunakan secara bersama-sama. Misalnya, saya ingin menjumlahkan size dari beberapa file yang karakter awal nama filenya adalah abe, maka cukup dengan mengetikkan :
bash-3.00$ ls -l abe* | awk ‘{sum=sum + $5} END {print sum}’
197904
Pada command ls -l field yang menunjukkan size suatu file adalah pada field ke-5 ($5), ls -l abe* digunakan untuk me-list file yang berawalan abe. Sedangkan untuk command ‘awk’ digunakan variabel sum untuk menyimpan hasil penjumlahan dari $5 pada setiap line/file name, pada akhir baris dalam list file nilai dari variabel sum ditampilkan.
Simple sie sebenernya, tapi gak tau kenapa ko' jadi sulit yyaa, yaaah mungkin karena kurang pemakaiannya saja..... Tak kenal AWK maka Tak Sayang AWK....
Lengkap Mas, Mbak disini


Tidak ada komentar:
Posting Komentar