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 ( , )
.