Example -1: Definindo e imprimindo variável
O comando 'awk' usa a opção '-v' para definir a variável. Neste exemplo, o myvar variável é definida no comando 'awk' para armazenar o valor, “Variável AWK” que é impresso depois. Execute o seguinte comando no terminal para verificar a saída.
$ echo | awk -v minhavar = 'Variável AWK' 'imprimir minhavar'Resultado:
Exemplo - 2: Usando a variável shell no awk com aspas simples e aspas duplas
O exemplo mostra como a variável shell pode ser usada no comando 'awk'. Aqui, uma variável de shell, myvar é declarado com o valor, “Dica Linux” no primeiro comando. O símbolo '$' é usado com um nome de variável shell para ler o valor. O segundo comando lê a variável, $ myval com aspas simples (') e o terceiro comando lê a variável $ myvar com aspas duplas (“) na instrução' awk '.
$ myvar = "Dica Linux"$ echo | awk -v awkvar = '$ myvar' 'imprimir awkvar; '
$ echo | awk -v awkvar = "$ myvar" 'print awkvar; '
Resultado:
É mostrado na saída que o valor de $ myvar não pode ser lido quando está entre aspas simples (') e a saída é $ myvar. O valor de $ myvar é impresso quando está entre aspas duplas (“).
Exemplo - 3: Lendo a variável ARGC no awk
A variável ARGC é usada para contar o número total de argumentos da linha de comando. Três variáveis de argumentos de linha de comando (t1, t2, t3) são passadas no seguinte script awk. Aqui, o número total de argumentos com o script é 4. Execute o script do terminal.
$ awk 'BEGIN print "Total de argumentos =", ARGC' t1 t2 t3Resultado:
A seguinte saída aparecerá após a execução do script.
Exemplo - 4: Lendo o conteúdo do arquivo por variáveis de argumento
Crie um arquivo de texto chamado cliente.TXT com o seguinte conteúdo para praticar este exemplo. Aqui, cada campo do arquivo é separado por uma única aba espaço.
cliente.TXT
Nome de identidade103847 John Micheal
209485 Watson
974732 Mira Hossain
O comando Awk pode ler cada campo de qualquer arquivo de texto por variáveis de argumento. Existem dois campos em cliente.TXT Arquivo. Estes são ID e Nome. O seguinte script irá imprimir estes dois campos por variáveis de argumento, $ 1 e $ 2 separando dois aba espaços. Execute o script do terminal.
cliente $ cat.TXTcliente $ cat.txt | awk 'print $ 1 "\ t \ t" $ 2;'
Resultado:
A seguinte saída aparecerá após a execução dos comandos acima.
Exemplo 5: Usando variável embutida, FS e opção de separador de campo com o comando awk
A variável FS é usada no comando awk como um separador de campo. O espaço é usado como um valor padrão de FS. O seguinte comando irá ler o arquivo cliente.TXT usando o espaço como separador de campo e imprime o conteúdo do arquivo. Execute o comando do terminal.
Cliente $ awk FS.TXTResultado:
A seguinte saída aparecerá após a execução do script.
O comando Awk pode usar outros caracteres como separador de campo usando a opção '-F'. Crie um arquivo de texto chamado produtos.TXT com o seguinte conteúdo onde ':' é usado como um separador de campo.
produtos.TXT
101: Bolo: $ 30102: Lápis: $ 5
103: Sabonete: $ 3
104: Shampoo: $ 10
Existem três campos no arquivo, produtos.TXT que contém o id do produto, nome e preço. O seguinte comando awk irá imprimir apenas o segundo campo de cada linha. Execute os comandos do terminal.
produto $ cat.TXT$ awk -F ':' 'print $ 2' produto.TXT
Resultado:
Aqui, o primeiro comando imprimiu o conteúdo de produtos.TXT e o segundo comando imprimiu apenas o segundo campo do arquivo.
Exemplo - 6: Usando a variável embutida, NR com o comando awk
A variável NR é usada no comando awk para contar o número total de registros ou linhas de um arquivo. Crie um arquivo de texto chamado aluna.TXT para testar a função desta variável.
aluna.TXT
Nome do lote semestralJoão 20 3
Mira 22 1
Ella 18
Charle 15 8
O seguinte script awk irá imprimir as três primeiras linhas de produtos.TXT Arquivo. Aqui, uma condição é adicionada usando a variável NR. O comando irá imprimir as linhas onde o valor NR é menor que 4. Execute o script do terminal.
Resultado:
A seguinte saída aparecerá após a execução do script.
estudante $ cat.txt | awk 'NR < 4'
Exemplo - 7: Usando a variável interna, NF com o comando awk
A variável NF é usada no comando awk para contar o número total de campos em cada linha de um arquivo. O seguinte script awk é aplicado ao arquivo, aluna.TXT que é criado no exemplo anterior. O script irá imprimir essas linhas de aluna.TXT arquivo onde o total de campos é inferior a 3. Execute o comando do terminal.
estudante $ cat.txt | awk 'NF < 3'Resultado:
Existe apenas uma linha no arquivo onde o número total de campos é menor que 3 que é impresso como saída.
Exemplo - 8: Usando a variável embutida, OFS com o comando awk
A variável OFS é usada no comando awk para adicionar o separador de campo de saída na saída. produtos.TXT arquivo é usado neste exemplo para mostrar o uso da variável OFS. ':' é usado como separador de campo no produto.arquivo txt. O seguinte script awk usou '->' como valor OFS e, o segundo e o terceiro campos do arquivo serão impressos adicionando este separador. Execute os comandos do terminal.
produto $ cat.TXT$ awk -F ':' 'BEGIN OFS = "->"; print $ 2, $ 3;' produto.TXT
Resultado:
A seguinte saída será impressa após a execução dos comandos.
Conclusão:
Os usos mais comuns de variáveis awk são tentados para explicar neste tutorial. Espero que o leitor seja capaz de usar variáveis awk corretamente no script depois de praticar este tutorial.