Awk

Como usar o loop for no comando awk

Como usar o loop for no comando awk
Loop é usado para executar algumas instruções várias vezes. A iteração do loop com base na condição de término ou no número de elementos da matriz. Três tipos de loops são suportados por qualquer linguagem de programação. For loop é um deles. O loop For pode ser declarado de duas maneiras. O loop simples contém três partes.  E outro loop for é o loop for-in que é usado para iterar qualquer lista de dados ou array. Este tutorial mostra o uso desses dois tipos de loops no comando awk usando vários exemplos.

Sintaxe:

  1. para declaração de loop:
para (inicialização; condição de término; incremento / decremento)
afirmações

A primeira parte é usada para inicializar a variável para iniciar para ciclo. A segunda parte contém a condição de término para controlar a iteração do loop e o loop continuará até que a condição seja verdadeira. A última parte irá aumentar ou diminuir a variável de inicialização com base na primeira parte.

  1. declaração for-in
para (variável na matriz / lista)
afirmações

para dentro loop é usado para fazer aquelas tarefas onde o número de iterações do loop não é fixo. para dentro loop é usado principalmente para analisar uma matriz ou lista de dados. O loop lê cada dado do array ou lista e armazena o valor em uma variável em cada iteração.

Exemplo-1: Usando um loop for simples

Um loop for simples é usado no seguinte script. Aqui, balcão variável é inicializada por 10 e o loop terminará quando o valor de balcão é menor que 5. O script irá imprimir o balcão valores de 10 a 5. Execute o comando do terminal.

$ echo | awk 'for (contador = 10; contador> = 5; contador--)
imprimir "Running for", counter, "times."," \ n "; '

Resultado:

A seguinte saída aparecerá após a execução do comando.

Exemplo-2: usando o loop for-in para ler uma matriz

Uma matriz chamada Cliente é declarada no script a seguir, onde o cliente eu ia é definido como um índice de matriz e o cliente nome é definido como valor de matriz. para dentro loop é usado aqui para iterar cada índice da matriz e imprimir o nome do cliente. Execute o script do terminal.

$ echo | awk 'BEGIN Cliente ["4587"] = "Neil Johnson";
Cliente ["8953"] = "Ella binte Nazir";
Cliente ["3455"] = "Bruce Hyslop";
Cliente ["6335"] = "Isabella";
 
END para (i no cliente)
imprimir "O nome de", i, "é", Cliente [i]
'

Resultado:

A seguinte saída aparecerá após a execução do script.

Exemplo-3: Uso de loop for aninhado

Quando um loop for é declarado em outro loop for, ele é chamado de loop for aninhado. O loop externo usado neste script irá iterar 2 vezes e o loop interno irá iterar 3 vezes. Portanto, a instrução de impressão será executada por, (2X3 = 6) 6 vezes. Execute o script do terminal.

$ echo | awk 'END para (i = 1; i<=2; i++)
para (j = 1; j<=3; j++)
print "Iterando linha", i, "e coluna", j, "\ n"; '

Resultado:

A seguinte saída aparecerá após a execução do script.

Exemplo 4: Uso de loop for com instrução break

pausa declaração é usada em qualquer loop para encerrar o loop antes de atingir a condição de término com base na condição particular. No script a seguir, o loop for começará de 3 e terminará quando o valor de eu é maior que 20. Mas quando o valor de eu será igual à variável num então a condição if será verdadeira e o loop terminará para o pausa demonstração.

$ echo | awk 'BEGIN num = 7; END para (i = 3; i<=20; i++)
if (i == num) quebra;
senão
print "Valor atual de i =", i, "\ n"; '

Resultado:

Aqui, se a condição for falsa por quatro iterações quando o valor de eu é 3,4,5 e 6. Portanto, a seguinte saída é impressa para as quatro iterações.

Exemplo 5: Usando o loop for com a instrução continue

A instrução Continue é usada em qualquer loop para omitir qualquer instrução com base em qualquer condição particular. Uma matriz chamada produtos é declarado no seguinte script. para dentro loop é usado para iterar a matriz e verificar cada valor com “Software de escritório“. Se o valor corresponder, uma mensagem indisponível será impressa, omitindo a mensagem disponível para continuar, caso contrário, a mensagem indisponível será impressa. Execute o script do terminal.

$ echo | awk 'BEGIN product ["1001"] = "Antivírus";
produto ["1002"] = "Software de escritório";
produto ["1003"] = "Software de desenho";
produto ["1004"] = "HDD";
produto ["1005"] = "DVD"; FIM para (i no produto)
if (produto [i] == "Software de escritório")
imprimir produto [i], "não está disponível \ n";
Prosseguir;

imprimir produto [i], "está disponível", "\ n"; '

Resultado:

A seguinte saída aparecerá após a execução do script.

Exemplo-6: Uso de loop for em arquivo awk

Crie um arquivo de texto chamado vendas.TXT e adicione o seguinte conteúdo para praticar este exemplo.

vendas.TXT

2015 70000
2016 80000
2017 83000
2018 86000
2019 90000

Crie um arquivo awk chamado cal_sal.awk com o seguinte script para calcular o valor total de vendas do arquivo vendas.TXT. O segundo campo contém o valor das vendas anuais no arquivo vendas.TXT. No roteiro, as vendas array irá armazenar todos os valores do segundo campo e soma variável é inicializada com 0 para adicionar todos os valores de vendas variedade. Próximo, para dentro loop é usado para iterar cada elemento de as vendas array e adicione o valor com o soma variável. Por último, a instrução de impressão é usada para imprimir o valor de soma variável para exibir o valor total das vendas.

cal_sal.awk


vendas [i ++] = $ 2;
soma = 0;

FIM
para (i em vendas)

soma = soma + vendas [i];

imprimir "Valor total das vendas =" soma;

Execute o seguinte comando para executar o script de cal_sal.arquivo awk.

$ awk -f cal_sal.vendas awk.TXT

Resultado:

Existem 5 registros no vendas.TXT arquivo e a soma do valor das vendas é 409000 que é impresso após a execução do script.

Conclusão:

Diferentes usos do loop for no comando awk são tentados para explicar neste tutorial. Espero que o leitor tenha uma ideia clara sobre como usar o loop for no script awk e ser capaz de usar o loop for corretamente na programação awk.

Top 5 cartas de captura de jogos
Todos nós vimos e amamos streaming de jogos no YouTube. PewDiePie, Jakesepticye e Markiplier são apenas alguns dos melhores jogadores que ganharam mil...
Como desenvolver um jogo no Linux
Uma década atrás, poucos usuários de Linux preveriam que seu sistema operacional favorito um dia seria uma plataforma de jogos popular para videogames...
Portas de código aberto para motores de jogos comerciais
Recriações gratuitas, de código aberto e de mecanismo de jogo de plataforma cruzada podem ser usadas para jogar jogos antigos, bem como alguns dos tít...