jump to navigation

Menggunakan awk script di Linux March 26, 2014

Posted by aghus in Linux, Ngoprek.
trackback

AWK adalah script yang digunakan untuk filter dan report data. AWK adalah singkatan dari : Aho, Weinberger, Kernighan.

Format dasar dari perintah (command) awk adalah sbb :
awk ‘pattern {action}’ input-file > output-file

Secara mudahnya, pattern adalah aksi yang dilakukan terhadap data di input-file, dan kemudian hasilnya dimasukkan ke dalam output-file

Misalnya kita punya data di file table1.txt,
1 Adi Manager Sales 5.000.000
2 Budi Developer Technology 5.500.000
3 Cecep Sysadmin Technology 7.000.000
4 Dedi Manager Marketing 9.500.000
5 Eta DBA Technology 6.000.000

Kita mencoba command
awk ‘$4 ~/Technology/’ table1.txt

$4 menyatakan kolom ke 4 yang isinya Technology, maka hasilnya adalah :
2 Budi Developer Technology 5.500.000
3 Cecep Sysadmin Technology 7.000.000
5 Eta DBA Technology 6.000.000

Bila kita mempunyai command yang cukup banyak dan tidak praktis bila kita ketikkan melalui command prompt, maka kita bisa membuat program awk yang berisi banyak baris. Sintaks dalam program tersebut adalah

BEGIN {Actions}
{ACTION} # Action yang dilakukan terhadap tiap baris data dalam file
END { Actions }

Misal kita mempunyai program yang kita simpan dalam file test.awk, sebagai berikut :

BEGIN { count=0;}
$4 ~ /Technology/ { count++; }
END { print “Jumlah karyawan di Departemen Technology = “,count;}

Kemudian kita ketik di command prompt

awk -f test.awk table1.txt > karyawan.txt

Maka kita bisa lihat hasilnya di file karyawan.txt adalah sbb :

Jumlah karyawan di Departemen Technology = 3

Comments»

No comments yet — be the first.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: