Sintaxe:
ArrayName [key] = Valor
Um nome deve declarar para a variável da matriz. ArrayName é o nome da matriz aqui. Cada array tem que usar o terceiro suporte para definir o chave ou índice e será qualquer valor de string para a matriz associativa. Valor pode ser qualquer personagem, número ou string que seja armazenado no índice específico da matriz.
Exemplo 1: Definindo e lendo a matriz unidimensional em Awk
Uma matriz unidimensional pode armazenar uma única lista de dados de coluna. Este tipo de matriz contém uma única chave e valor para cada elemento da matriz. Esta matriz pode ser usada no comando AWK, como outras linguagens de programação. Neste exemplo, uma matriz nomeada livro é declarado com três elementos e o loop é usado para ler e imprimir cada elemento. Execute o seguinte comando do terminal.
$ echo | awk 'BEGIN book ["html"] = "HTML Pocket Guide 2010";
livro ["js"] = "javascript eficaz";
Livro ["CSS"] = "Aprendendo web design";
Final para (i no livro) impressão "The Book of", i "é", livro [i]; '
Saída:
Exemplo 2: Definindo e lendo Array Bidimensional em Awk
Uma matriz bidimensional é usada para armazenar a lista de dados tabulares que contém um número fixo de linhas e colunas. A matriz bidimensional denominada estudantes é declarada neste exemplo que contém três elementos. Aqui, o ID e o nome do aluno são usados como valores -chave da matriz. Como o exemplo anterior, o loop for-in é usado no script AWK para imprimir os valores da matriz. Execute o seguinte script do terminal.
$ echo | Awk 'Begin
alunos ["87462, mohammed ali"] = 87;
alunos ["98376, Sakib al Hasan"] = 99;
alunos ["79937, Musfikur Rahman"] = 88;
imprimir "(id, nome) => marcas";
Final para (i em estudantes) print "(", i, ") =>", estudantes [i]; '
Saída:
Exemplo 3: Excluindo o elemento de matriz
Qualquer valor da matriz pode ser excluído com base no valor -chave. Aqui, livro Array com três elementos é definido no início do script. Em seguida, o valor da chave Html é excluído usando excluir comando. O valor do elemento de Html A chave é impressa antes e depois do excluir comando. Execute o seguinte comando para verificar a saída.
$ echo | awk 'BEGIN book ["html"] = "HTML Pocket Guide 2010";
livro ["js"] = "javascript eficaz";
livro ["CSS"] = "Aprendendo web design";
imprimir "Antes excluir -", livro ["html"];
excluir livro ["html"];
Imprima "\ Nafter delete -", livro ["html"]; '
Saída:
A saída mostra que o valor de Html o índice está vazio após a execução excluir comando.
Exemplo-4: Leitura de Bash Array em Awk
Nos exemplos anteriores, a matriz é declarada no comando AWK e iterada pelo loop for-in. Mas você pode ler qualquer matriz Bash by Awk Script. Neste exemplo, uma matriz Bash nomeada Lang é declarado no primeiro comando. No segundo comando, os valores da matriz Bash são passados para o comando AWK que armazena todos os elementos em uma matriz AWK denominada Awkarray. Os valores da matriz Awkarray são impressos usando o loop. Execute o seguinte comando do terminal para verificar a saída.
$ lang = ("php" "asp" "jsp" "c#" "c ++")
$ printf '%s \ n' "$ lang [@]" | awk 'awkarray [nr] = $ 1 end para
(I In Awkarray) Imprimo o Awkarray [i], "\ n"; '
Exemplo 5: lendo o conteúdo do arquivo em uma matriz AWK
O conteúdo de qualquer arquivo pode ser lido usando a matriz AWK. Crie um arquivo de texto chamado pássaro.TXT com o conteúdo abaixo.
pássaro.TXT
Coquetel
Codorna
Parrot cinza
Baazigar
O seguinte script AWK é usado para ler o conteúdo de pássaro.TXT Arquive e armazene os valores na matriz, Awkarray. para o loop é usado para analisar a matriz e imprimir os valores no terminal. Execute o seguinte script do terminal.
$ awk 'awkarray [contador ++] = $ 1; End for (n = 0; nimprimir awkarray [n], "\ n"; ' pássaro.TXT
Saída:
O script imprime o conteúdo de pássaro.TXT.
Exemplo 6: Removendo entradas duplicadas de um arquivo
O script AWK pode ser usado para remover dados duplicados de qualquer arquivo de texto. Crie um arquivo de texto chamado frutas.TXT com o seguinte conteúdo. Existem dois dados duplicados no arquivo. Estes são Maçã e Laranja.
frutas.TXT
Maçã
Laranja
Uva
Maçã
Banana
Laranja
Goiaba
O script AWK a seguir lerá todas as linhas do arquivo de texto, frutas.TXT e verifique se a linha atual existe ou não na matriz, arr. Se a linha existir na matriz, ela não armazenará a linha na matriz e não imprimirá o valor no terminal. Portanto, o script armazenará apenas as linhas exclusivas do arquivo para a matriz e imprimirá. Execute os comandos do terminal.
$ fruits de gato.TXT
$ awk '!($ 0 em arr) print arr [$ 0], $ 0; 'frutas.TXT
Saída:
O primeiro imprimirá o conteúdo do arquivo, frutas.txt e o segundo comando imprimirão o conteúdo das frutas.txt depois de omitir linhas duplicadas do arquivo.
Este tutorial mostra os vários usos da matriz no script AWK usando diferentes exemplos com explicação. Bash Array e qualquer conteúdo do arquivo de texto também podem ser acessados usando a matriz AWK. Se você é novo na programação AWK, este tutorial ajudará você a aprender os usos da matriz AWK do Basic e você poderá usar o Script Awk.