Awk adalah utilitas paling populer yang dikembangkan untuk tujuan ekstraksi data, pemrosesan teks, dan terlebih lagi seperti membuat laporan berformat. Ini jauh lebih mirip dengan sed tetapi lebih kuat daripada sed karena sed memiliki keterbatasan dalam pemrosesan teks. AWK tidak memiliki arti khusus untuk namanya karena dinamai menggunakan huruf pertama dari pengembangnya Alfred Aho, Peter J. Weinberger, dan Brian Kernighan.
Pada artikel ini, kita akan mempelajari 10 perintah awk mengagumkan yang harus Anda ketahui. Saya telah membuat dan menambahkan kumpulan data berikut di student.txt sebagai contoh. Kumpulan data memiliki 4 kolom dimana kolom pertama berisi nama depan, kolom kedua berisi nama kedua, kolom ketiga berisi usia dan yang terakhir berisi kelas.
Mencetak Bidang Tertentu Menggunakan Variabel
Awk memiliki banyak variabel prebuilt yang memiliki tujuan masing-masing. Dengan menggunakan perintah ini, kita dapat mencetak semua data bidang tertentu menggunakan $x di mana x mengacu pada posisi penomoran bidang.
$ awk '{print $1, $2}' student.txt
MULAI Variabel
Variabel BEGIN digunakan untuk menambahkan header atau judul ke data yang dihasilkan saat menjalankan skrip sebelum memproses data. Ini membantu dalam pengindeksan saat memformat tabel data. Dalam contoh berikut, saya telah mencetak beberapa teks sebagai pengindeksan dan kemudian mencetak semua nama siswa.
$ awk 'BEGIN {print "Students : "} {print $1}' student.txt
Variabel AKHIR
END adalah kebalikan dari BEGIN karena menjalankan skrip setelah pemrosesan data. Ini dapat digunakan untuk pelaporan akhir kumpulan data. Dalam contoh berikut, saya telah mencetak semua usia siswa dan kemudian mencetak beberapa pesan penutup.
$ awk '{print $3} END { print "These are student age " } ' student.txt
Pemisah File
Spasi dan spasi Tab adalah pemisah default dari perintah awk namun kita dapat memisahkan teks berdasarkan pemisah lain seperti koma, garis miring, dll. Untuk mencapai ini, kita perlu menambahkan flag -F ke perintah dan pemisah yang disediakan dalam tanda kutip tunggal .
$ awk -F':' '{print $1}' /etc/passwd
Menjalankan Skrip Dari File
Kami juga dapat mengeksekusi skrip awk dari file yang memberi kami kecenderungan untuk membuat laporan secara efisien. Untuk ini, Anda perlu membuat file kemudian menulis skrip dan menjalankannya menggunakan perintah awk. Untuk demo, Anda dapat membuat nama file demo_script dan copy-paste script berikut.
$ vi demo_script { sum+=$3 } END { print("Sum of all student age is", sum) }
Perintah awk memberikan tanda -f untuk mengeksekusi skrip dari file.
$ awk -f demo_script student.txt
Menggunakan Banyak Skrip
Kita dapat menjalankan beberapa skrip menggunakan titik koma. Pada contoh berikut, saya telah mencetak beberapa teks kemudian menyalurkan outputnya, dengan awk dan mencetak hasil yang dimodifikasi.
$ echo "Hello, Dr. John" | awk '{$3="George"; print $0}'
Hitung Jumlah Baris
Kita dapat mengalokasikan nomor ke laporan menggunakan variabel NR yang merupakan variabel bawaan awk yang secara otomatis mencetak nomor baris ke laporan.
$ awk '{print NR "\t" $0}' student.txt
Hitung Jumlah Kolom
Terkadang, saat menyiapkan data kita lupa menambahkan data pada kolom tertentu yang dapat menyebabkan ketidakteraturan dalam laporan. Kita dapat menghitung field menggunakan variabel NF yang memudahkan kita untuk meninjau dan menyusun laporan.
$ awk '{print NR".",$0 "\n Count=" NF}' student.txt
Jika Kondisi
Kondisi if dapat kita gunakan dalam menyusun laporan kondisional. Dalam contoh berikut, kami mencetak semua siswa yang usianya di bawah 16
$ awk ' BEGIN{ print "Student whose age are under 16 are:" } { if($3<16){ print $1 } }' student.txt
Untuk Putaran
Dalam contoh berikut, kami menggunakan for loop untuk mencetak 5 angka acak berturut-turut. Untuk menghasilkan angka acak, kami akan menggunakan fungsi Rand() yang merupakan fungsi bawaan sistem. Fungsi ini akan menghasilkan angka acak dalam desimal sehingga kita perlu mengalikan 100 untuk mendapatkan angka acak 1 hingga 100.
$ awk 'BEGIN { for (i = 1; i <= 5; i++){ print int(100 * rand()) } }'
Kesimpulan
Pada artikel ini, kita belajar tentang 10 perintah dan skrip awk yang mengagumkan. Saya harap Anda menyukai artikel ini.