AWK - Döngüler
Bu bölüm AWK'nın döngülerini uygun örneklerle açıklamaktadır. Döngüler, bir dizi eylemi tekrar eden bir şekilde yürütmek için kullanılır. Döngü yürütme, döngü koşulu doğru olduğu sürece devam eder.
Döngü için
Sözdizimi for döngü -
Sözdizimi
for (initialization; condition; increment/decrement)
action
Başlangıçta forifadesi başlatma eylemini gerçekleştirir, ardından koşulu kontrol eder. Koşul doğruysa, eylemleri gerçekleştirir, ardından artırma veya azaltma işlemi gerçekleştirir. Koşul doğru olduğu sürece döngü yürütme devam eder. Örneğin, aşağıdaki örnek 1'den 5'e kadar yazdırır.for döngü -
Misal
[jerry]$ awk 'BEGIN { for (i = 1; i <= 5; ++i) print i }'
Bu kodu çalıştırdığınızda şu sonucu alırsınız -
Çıktı
1
2
3
4
5
Döngü sırasında
whiledöngü, belirli bir mantıksal koşul doğru olarak değerlendirilene kadar eylemi yürütmeye devam eder. İşte sözdizimiwhile döngü -
Sözdizimi
while (condition)
action
AWK önce durumu kontrol eder; koşul doğruysa, eylemi yürütür. Döngü koşulu doğru olarak değerlendirildiği sürece bu süreç tekrar eder. Örneğin, aşağıdaki örnek 1'den 5'e kadar yazdırır.while döngü -
Misal
[jerry]$ awk 'BEGIN {i = 1; while (i < 6) { print i; ++i } }'
Bu kodu çalıştırdığınızda şu sonucu alırsınız -
Çıktı
1
2
3
4
5
Do-While Döngüsü
do-whiledöngüsü, test koşulunun döngünün sonunda değerlendirilmesinin dışında while döngüsüne benzer. İşte sözdizimido-whiledöngü -
Sözdizimi
do
action
while (condition)
İçinde do-whiledöngü, eylem ifadesi, koşul ifadesi yanlış olarak değerlendirildiğinde bile en az bir kez yürütülür. Örneğin, aşağıdaki örnek, 1 ila 5 arası sayıları kullanarak yazdırır.do-while döngü -
Misal
[jerry]$ awk 'BEGIN {i = 1; do { print i; ++i } while (i < 6) }'
Bu kodu çalıştırdığınızda şu sonucu alırsınız -
Çıktı
1
2
3
4
5
Break İfadesi
Adından da anlaşılacağı gibi, döngü yürütmeyi sonlandırmak için kullanılır. İşte toplam 50'den büyük olduğunda döngüyü sona erdiren bir örnek.
Misal
[jerry]$ awk 'BEGIN {
sum = 0; for (i = 0; i < 20; ++i) {
sum += i; if (sum > 50) break; else print "Sum =", sum
}
}'
Bu kodu çalıştırdığınızda şu sonucu alırsınız -
Çıktı
Sum = 0
Sum = 1
Sum = 3
Sum = 6
Sum = 10
Sum = 15
Sum = 21
Sum = 28
Sum = 36
Sum = 45
Devam İfadesi
continuedeyimi, döngünün bir sonraki yinelemesine atlamak için bir döngü içinde kullanılır. Döngü içindeki bazı verilerin işlenmesini atlamak istediğinizde kullanışlıdır. Örneğin, aşağıdaki örnektecontinue 1 ile 20 arasındaki çift sayıları yazdırmak için ifade.
Misal
[jerry]$ awk 'BEGIN {
for (i = 1; i <= 20; ++i) {
if (i % 2 == 0) print i ; else continue
}
}'
Bu kodu çalıştırdığınızda şu sonucu alırsınız -
Çıktı
2
4
6
8
10
12
14
16
18
20
Çıkış İfadesi
Komut dosyasının yürütülmesini durdurmak için kullanılır. AWK işlemi için çıkış durum kodu olan bir tamsayıyı argüman olarak kabul eder. Hiçbir argüman sağlanmadıysa,exitsıfır durumu döndürür. İşte toplam 50'den büyük olduğunda yürütmeyi durduran bir örnek.
Misal
[jerry]$ awk 'BEGIN {
sum = 0; for (i = 0; i < 20; ++i) {
sum += i; if (sum > 50) exit(10); else print "Sum =", sum
}
}'
Çıktı
Bu kodu çalıştırdığınızda şu sonucu alırsınız -
Sum = 0
Sum = 1
Sum = 3
Sum = 6
Sum = 10
Sum = 15
Sum = 21
Sum = 28
Sum = 36
Sum = 45
Betiğin dönüş durumunu kontrol edelim.
Misal
[jerry]$ echo $?
Bu kodu çalıştırdığınızda şu sonucu alırsınız -
Çıktı
10