Rabu, 18 Maret 2009

Pengenalan AWK

Utilitas AWK

Utilitas ini memanipulasi dengan menyaring baris-baris dalam file teks untuk digunakan membuat laporan atau mencari string tertentu. Defaultnya, sebuah baris dalam file teks yang menjadi masukan utilitas AWK menjadi sebuah record.

Pemanggilan utilitas dengan format

awk 'script_awk' nama_file_masukan

Script_awk adalah script yang terdiri atas

pola jika pola tidak dibuat maka semua record diproses
tindakan jika tindakan tidak ada, maka record ditampilkan

nama_file_masukan adalah nama file yang diproses.

Contoh: Proses dengan perintah berikut

awk '{ print }' data.dat ditampilkan seluruhnya
awk '{ print $1 $3 }' data.dat ditampilkan field-1 dan field-3 saja
awk '/mu/ { print }' data.dat ditampilkan record yang mengandung 'mu'
awk '/89/ { print }' data.dat ditampilkan record yang mengandung '89'
awk '/89/' data.dat sama dengan di atas

Script awk dapat ditulis dalam sebuah file dan dikerjakan dengan format perintah

awk -f nama_file_skrip nama_file_masukan



Pembuka dan penutup awk


Pada script awk dapat ditambahkan pola

* BEGIN untuk tindakan yang dikerjakan sekali di awal script (sebelum record pertama diproses). Dapat digunakan untuk membuat judul dan memberi nilai awal.
* END untuk tindakan yang dikerjakan sekali di akhir script (setelah seluruh record diproses). Digunakan untuk ringkasan dan keterangan akhir.

Contoh: Buat script2.awk

BEGIN {
print "DAFTAR Mahasiswa"
print "NRP NAMA"
print ""
}

{ print }

END {
print "selesai"
}


Variabel

Dua macam variabel

1. Bawaan (built-in) mencakup
* ARGC jumlah argumen dari baris perintah
* ARGV array dari argumen baris
* FILENAME nama file yang diproses
* NR Jumlah record dari awal hingga record yang sedang diproses
* FNR Jumlah record dari awal sebuah file hingga record yang sedang diproses pada file tersebut (masukan terdiri dari beberapa file).
* NF Jumlah field dari record yang sedang diproses
* FS karakter pemisah field dari file masukan, default spasi.
* OFS karakter pemisah field untuk keluaran
* RS pemisah record masukan, default newline.
* ORS pemisah record keluaran, default newline.
2. buatan, didefinisikan dengan cara mengisi dengan harga awal.

Pustaka : blajar_awk.html

Tidak ada komentar: