AWK - Luồng kiểm soát

Giống như các ngôn ngữ lập trình khác, AWK cung cấp các câu lệnh điều kiện để kiểm soát luồng của một chương trình. Chương này giải thích các câu lệnh kiểm soát của AWK với các ví dụ phù hợp.

Câu lệnh if

Nó chỉ đơn giản là kiểm tra tình trạng và thực hiện các hành động nhất định tùy thuộc vào tình trạng bệnh. Dưới đây là cú pháp củaif tuyên bố -

Cú pháp

if (condition)
   action

Chúng ta cũng có thể sử dụng một cặp dấu ngoặc nhọn như dưới đây để thực thi nhiều hành động -

Cú pháp

if (condition) {
   action-1
   action-1
   .
   .
   action-n
}

Ví dụ: ví dụ sau kiểm tra xem một số có chẵn hay không -

Thí dụ

[jerry]$ awk 'BEGIN {num = 10; if (num % 2 == 0) printf "%d is even number.\n", num }'

Khi thực thi đoạn mã trên, bạn nhận được kết quả sau:

Đầu ra

10 is even number.

Nếu tuyên bố khác

Trong if-else cú pháp, chúng tôi có thể cung cấp danh sách các hành động được thực hiện khi một điều kiện trở thành sai.

Cú pháp của if-else tuyên bố như sau:

Cú pháp

if (condition)
   action-1
else
   action-2

Trong cú pháp trên, action-1 được thực hiện khi điều kiện đánh giá là true và action-2 được thực hiện khi điều kiện đánh giá là false. Ví dụ: ví dụ sau kiểm tra xem một số có chẵn hay không -

Thí dụ

[jerry]$ awk 'BEGIN {
   num = 11; if (num % 2 == 0) printf "%d is even number.\n", num; 
      else printf "%d is odd number.\n", num 
}'

Khi thực thi mã này, bạn nhận được kết quả sau:

Đầu ra

11 is odd number.

Thang If-Else-If

Chúng tôi có thể dễ dàng tạo một if-else-if thang bằng cách sử dụng nhiều if-elsecác câu lệnh. Ví dụ sau đây chứng minh điều này -

Thí dụ

[jerry]$ awk 'BEGIN {
   a = 30;
   
   if (a==10)
   print "a = 10";
   else if (a == 20)
   print "a = 20";
   else if (a == 30)
   print "a = 30";
}'

Khi thực thi mã này, bạn nhận được kết quả sau:

Đầu ra

a = 30