Selasa, 24 Maret 2009

Mengelompokkan nilai

awk '{if(81<=$2&&$2<=100) { print $1,$2,"A"}} {if(71<=$2&&$2<=80) { print $1,$2,"B"}} {if(61<=$2&&$2<=70) { print $1,$2,"C" }} {if(41<=$2&&$2<=60) { print $1,$2,"D"}} {if(0<=$2&&$2<=40) { print $1,$2,"E"}}' nilai.txt

Membuat file

cat 1> nilai.txt #membuat file
aa 45
ab 50
ac 70
ad 79
ae 81
af 90
ag 72
ah 71
ai 81
aj 88
ak 80
al 55
am 59
an 92
ao 87
ap 61
aq 63
ar 71
as 44
at 59

Selasa, 17 Maret 2009

Review AWK 1

Bahasa AWK pertama kali dibuat pada tahun 1977 oleh Al Aho, Peter Weinberger, dan Brien Kernigan. Kemudian pada tahun 1985, diterbitkan new AWK atau nawk. nawk merupakan pelengkap dai awk.

Pada nawk terdapat fitur tambahan, yaitu:
Dinamik ekspresi
penambahan fungsi - fungsi dan variabel
operator dan statement baru
inputan lebih dari 1
akses bebas command line arguments
meningkatkan kedetailan pesan error

Structure dariprogram AWK adalah :
BEGIN segment untuk membaca input
Pattern untuk memproses input,jika pattern lebih dari 1 maka dapat berguna untuk menghubungkan perintah yang diberikan
END segment untuk proses akhir
Tebal
Cara menjalankan program AWK :
AWK ‘program’ input_file(s) : program dan input merupakan perintah.
AWK ‘program’ : program bertindak sebagai perintah, input berasal dari standart input.
AWK –f program_file_name input_files : program dibaca dari suatu file.

pembeda error antara awk dan nawk:
untuk awk

awk '$3==0 [ print $1}' emp.data
pesan error
awk: syntax error near line 1
awk: bailling out near line 1

untuk nawk
awk '$3==0 [ print $1}' emp.data
pesan error

nawk: syntax error at source line 1

context is

$3 == 0 >>> [ <<<

1 extra }

1 extra [

nawk: bailing out at source line 1

1 extra }

1 extra [


Variabel baru di nawk :

NF - Number of fields in current record

NR - Number of records read so far

0 - Entire line

n - Field n

NF - Last field of current record



Simple output dari AWK :
Dapat menampilkan output seluruh line apabila tidak terdapat pattern.
Dapat menampilkan multiple items dengan 1 print statement.
Dapat menampilkan number of field ( NF )

Dapat melakukan perhitungan pada nilai field dan menampilkannya sebagai output.
Dapat menampilkan line numbers yang kita inginkan ( NR )
Dapat menambahkan text pada output.

AWK dapat berguna sebagai:

AWK sebagi seleksi :

Berdasarkan perbandingan

Berdasarkan perhitungan
Berdasarkan isi text
Berdasarkan kombinasi patterns.

AWK sebagai data validation
AWK sebagai program penghitungan.
AWK sebagai Handling Text
AWK berisikan number of built-in functions.
AWK sebagai Flow Control statements
AWK sebagai Loop Control
AWK dilengkapi dengan arrays