AWK - Loop
Bab ini menjelaskan loop AWK dengan contoh yang sesuai. Loop digunakan untuk menjalankan serangkaian tindakan secara berulang. Eksekusi loop terus berlanjut selama kondisi loop benar.
Untuk Loop
Sintaks dari for loop adalah -
Sintaksis
for (initialization; condition; increment/decrement)
action
Awalnya, file forpernyataan melakukan tindakan inisialisasi, kemudian memeriksa kondisi. Jika kondisinya benar, ia menjalankan tindakan, kemudian melakukan operasi penambahan atau pengurangan. Eksekusi loop berlanjut selama kondisinya benar. Misalnya, contoh berikut mencetak 1 hingga 5 menggunakanfor putaran -
Contoh
[jerry]$ awk 'BEGIN { for (i = 1; i <= 5; ++i) print i }'
Saat menjalankan kode ini, Anda mendapatkan hasil sebagai berikut -
Keluaran
1
2
3
4
5
Sedangkan Loop
Itu whileloop terus mengeksekusi aksi sampai kondisi logika tertentu bernilai true. Berikut adalah sintakswhile putaran -
Sintaksis
while (condition)
action
AWK mengecek dulu kondisinya; jika kondisinya benar, tindakan akan dijalankan. Proses ini berulang selama kondisi loop bernilai true. Misalnya, contoh berikut mencetak 1 hingga 5 menggunakanwhile putaran -
Contoh
[jerry]$ awk 'BEGIN {i = 1; while (i < 6) { print i; ++i } }'
Saat menjalankan kode ini, Anda mendapatkan hasil sebagai berikut -
Keluaran
1
2
3
4
5
Do-While Loop
Itu do-whileloop mirip dengan loop sementara, kecuali kondisi pengujian dievaluasi di akhir loop. Berikut adalah sintaksdo-whileputaran -
Sintaksis
do
action
while (condition)
Di sebuah do-whileloop, pernyataan tindakan dijalankan setidaknya sekali bahkan ketika pernyataan kondisi bernilai false. Misalnya, contoh berikut mencetak 1 hingga 5 angka menggunakando-while putaran -
Contoh
[jerry]$ awk 'BEGIN {i = 1; do { print i; ++i } while (i < 6) }'
Saat menjalankan kode ini, Anda mendapatkan hasil sebagai berikut -
Keluaran
1
2
3
4
5
Pernyataan Istirahat
Seperti namanya, ini digunakan untuk mengakhiri eksekusi loop. Berikut adalah contoh yang mengakhiri pengulangan ketika jumlahnya menjadi lebih besar dari 50.
Contoh
[jerry]$ awk 'BEGIN {
sum = 0; for (i = 0; i < 20; ++i) {
sum += i; if (sum > 50) break; else print "Sum =", sum
}
}'
Saat menjalankan kode ini, Anda mendapatkan hasil sebagai berikut -
Keluaran
Sum = 0
Sum = 1
Sum = 3
Sum = 6
Sum = 10
Sum = 15
Sum = 21
Sum = 28
Sum = 36
Sum = 45
Pernyataan Lanjutan
Itu continuepernyataan digunakan di dalam loop untuk melompat ke iterasi berikutnya dari loop. Ini berguna ketika Anda ingin melewatkan pemrosesan beberapa data di dalam loop. Misalnya, contoh berikut menggunakancontinue pernyataan untuk mencetak bilangan genap antara 1 hingga 20.
Contoh
[jerry]$ awk 'BEGIN {
for (i = 1; i <= 20; ++i) {
if (i % 2 == 0) print i ; else continue
}
}'
Saat menjalankan kode ini, Anda mendapatkan hasil sebagai berikut -
Keluaran
2
4
6
8
10
12
14
16
18
20
Pernyataan Keluar
Ini digunakan untuk menghentikan eksekusi skrip. Ini menerima integer sebagai argumen yang merupakan kode status keluar untuk proses AWK. Jika tidak ada argumen yang diberikan,exitmengembalikan status nol. Berikut adalah contoh yang menghentikan eksekusi ketika jumlahnya menjadi lebih dari 50.
Contoh
[jerry]$ awk 'BEGIN {
sum = 0; for (i = 0; i < 20; ++i) {
sum += i; if (sum > 50) exit(10); else print "Sum =", sum
}
}'
Keluaran
Saat menjalankan kode ini, Anda mendapatkan hasil sebagai berikut -
Sum = 0
Sum = 1
Sum = 3
Sum = 6
Sum = 10
Sum = 15
Sum = 21
Sum = 28
Sum = 36
Sum = 45
Mari kita periksa status pengembalian skrip.
Contoh
[jerry]$ echo $?
Saat menjalankan kode ini, Anda mendapatkan hasil sebagai berikut -
Keluaran
10