AWK - Fluxo de Controle
Como outras linguagens de programação, AWK fornece instruções condicionais para controlar o fluxo de um programa. Este capítulo explica as declarações de controle do AWK com exemplos adequados.
Declaração If
Ele simplesmente testa a condição e executa certas ações dependendo da condição. Dada a seguir é a sintaxe deif declaração -
Sintaxe
if (condition)
action
Também podemos usar um par de chaves, conforme indicado abaixo, para executar várias ações -
Sintaxe
if (condition) {
action-1
action-1
.
.
action-n
}
Por exemplo, o exemplo a seguir verifica se um número é par ou não -
Exemplo
[jerry]$ awk 'BEGIN {num = 10; if (num % 2 == 0) printf "%d is even number.\n", num }'
Ao executar o código acima, você obtém o seguinte resultado -
Resultado
10 is even number.
Declaração If Else
No if-else sintaxe, podemos fornecer uma lista de ações a serem realizadas quando uma condição se torna falsa.
A sintaxe de if-else declaração é a seguinte -
Sintaxe
if (condition)
action-1
else
action-2
Na sintaxe acima, a ação 1 é executada quando a condição é avaliada como verdadeira e a ação 2 é executada quando a condição é avaliada como falsa. Por exemplo, o exemplo a seguir verifica se um número é par ou não -
Exemplo
[jerry]$ awk 'BEGIN {
num = 11; if (num % 2 == 0) printf "%d is even number.\n", num;
else printf "%d is odd number.\n", num
}'
Ao executar este código, você obtém o seguinte resultado -
Resultado
11 is odd number.
Escada If-Else-If
Podemos facilmente criar um if-else-if escada usando vários if-elseafirmações. O exemplo a seguir demonstra isso -
Exemplo
[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";
}'
Ao executar este código, você obtém o seguinte resultado -
Resultado
a = 30