Perintah AWK Fungsi Built-in Variabel
Ketika menggunakan awk ada beberapa variabel yang bisa digunakan tanpa perlu didefiniskan isinya karena sudah memiliki nilai default, varibel ini memiliki istila Built-in Variabel. Walau variable ini sudah memiliki nilai default user masih bisa melakukan perubahan terhadap nilai variabel ini.
Built-in Variabel
FILENAME : Info file inputNR : Jumlah dan nomor Baris (Semua File Input)NF : Jumlah Kolom di Setiap BarisFNR : Jumlah dan momor Baris dari Setiap Input (Per File Input)FS : Field Sparator / DelimiterOFS : Menampilkan Out Put FS / Delimiter KolomORS : Menampilan Out Put RS / Delimter BarisRS : Record Sparator / Delimiter bar
AWK Built-in Variabel FILENAME
Variabel FILENAME ini berfungsi menampilan nama file yang dijadikan input. Untuk menggunakannya bisa langsung dipanggil nama variable beserta dua input file, seperti dalam contoh berikut ini :
# awk '{print FILENAME}' ./buah.txt /home/pegawai.txt
Jika dilihat hasil outputnya akan mencetak nama file sejumlah baris yang dimiliki file. Dalam contoh file buah.txt memiliki 10 baris dan pegawai.txt memiliki 11 baris.
AWK Built-in Variabel NR
NR variabel yang mendapatkan jumlah baris/row dari input, misalkan sebuah file memiliki 10 baris data maka hasil dari NR adalah 10. Sebagai contoh berikut ini.
# awk '{print NR,$0}' buah.txt
Bisa dilihat dari hasil output nya disebelah kiri dari Kolom nama buah ada nomor field.
NR juga bisa dimanfaatkan untuk mencetak Baris Tertentu, misal ingin mencetak baris 3 – 5 dari file buah.txt
# awk 'NR==3, NR==5 {print $0}' buah.txt
Hasilnya akan seperti digambar mencetak bari 3 sampai dengan baris 5 dari file buah txt.
AWK Built-in Variabel NF
NF variable yang nilainya di dapat dari jumlah kolom/ field di setiap baris dimana white space adalah delimiter setiap data dari input.
# awk '{print "baris", NR, "Jumlah Kolom", NF}' pegawai.txt
OutPut nya bisa dilihat diatas menampilkan jumlah kolom per baris.
Hal ini bisa dimafaat kan lebih ketika ingin memilah data dalam satu baris, dalam contoh dibawah ada file dengan isian satu baris dengan beberapa data buah, warna ,jumlah dan harga. Dimana ingin diubah formatnya menjadi beberapa baris.
[root@alma8 ~]# cat buah2.txt
Apel red 4 $20. Pisang yellow 6 $10. Stroberi red 3 $30. Rasberi red 99 $100.
[root@alma8 ~]# awk -F'.\t' '{n=NF;} END{for (i=1;i <= n;i++){print $i;}}' buah2.txt
Apel red 4 $20
Pisang yellow 6 $10
Stroberi red 3 $30
Rasberi red 99 $100.
[root@alma8 ~]#
Dengan begini formatnya bisa diubah dari satu baris data menjadi beberapa baris.
AWK Built-in Variabel FNR
FNR hampir sama dengan NR perbedaannya akan menampilkan jumlah baris per file input. Bisa dilihat cotoh dibawah dengan duan input.
# awk '{print FNR}' buah.txt pegawai.txt[root@alma8 ~]# awk '{print FNR}' buah.txt pegawai.txt
1
2
3
4
5
6
7
8
9
10
1
2
3
4
5
6
7
8
9
10
11
Hasilnya akan menghitung jumlah dan nomor baris per file input dimana buah.txt ada 10 baris dan pegawai.txt ada 11 baris
AWK Built-in Variabel FS
FS varibel untuk Field Sparator yang biasa digunakan untuk delimiter per kolom, memiliki nilai awal white space atau spasi. Nilai FS yang jadi delimiter ini bisa diubah sesuai kebutuhan.
Untuk menggunakan FS bisa dengan dua cara :
- Menggunakan option
-F - Menggunakan Variabel
FS
// Menggunakan option -F
# awk -F '[:;]' '{print $1,$2,$3,$4}' buah3.txt
// Menggunakan Variabel FS
# awk -F '[:;]' '{print $1,$2,$3,$4}' buah3.txt
Delimiter yang digunakan adalah 2, yaitu tanda : dan ; yang hasilnya akan memisahkan data buah3.txt menjadi 4 kolom.
AWK Built-in Variabel OFS
OFS Varibel ini berfungsi untuk menentukan menampilan field sparator (FS) atau delimiter yang tampil pada OutPut.
Sebagai contoh akan melanjutkan dari contoh FS dimana delimiter yang digunakan adalah ( : ) dan ( ; ) akan menjadi tanda dash ( - ) pada OutPut
# awk 'BEGIN {FS="[:;]"; OFS="-"} {print $1,$2,$3,$4}' buah3.txt
//atau
# awk -F '[:;]' 'BEGIN {OFS ="-"}{print $1,$2,$3,$4}' buah3.txt

Dapat dilihat delimiter antar kolom sudah berubah menjadi tanda dash -.
AWK Built-in Variabel ORS
ORS Variabel yang akan membuat tampilan menjadi 1 baris dengan delimiter yang ditentukan.
Sebagai contoh melanjutkan dari contoh FS tampilan file buah3.txt yang terdiri 3 baris akan diubah menjadi 1 baris dengan delimiter ( | )
# awk -F '[:;]' 'BEGIN {ORS ="|"}{print $1,$2,$3,$4}' buah3.txt
//atau
awk 'BEGIN {FS="[:;]"; ORS="|"} {print $1,$2,$3,$4}' buah3.txt
Dapat dilihat tampilannya isi file dengan 3 baris berubah menjadi 1 baris dengan field sparator bertanda ( | ).
AWK Built-in Variabel RS
RS Variabel Record Sparator berfungsi membuat batasan baru untuk satu baris data, defaultnya 1 baris data adalah 1 record. Dengan RS dua atau lebih baris data bisa dianggap 1 record.
# awk 'BEGIN{RS=",";} {print $1,$2,$3,$4}' buah4.txt
File buah4.txt memiliki 6 baris yang dianggap 6 record. Dengan variabl RS diberi nilai tanda koma ( , ) satu record adalah gabungan antara tanda koma ( , ).










