Awk

Como usar a variável no comando awk

Como usar a variável no comando awk
Variáveis ​​são usadas para armazenar qualquer valor temporário em qualquer linguagem de programação.  Definir a variável no comando awk é semelhante à linguagem de script bash e funciona como o bash quando a variável shell é usada com aspas simples e aspas. O comando Awk tem muitas variáveis ​​integradas para vários fins. Como as variáveis ​​definidas pelo usuário, integradas e do shell podem ser usadas no comando awk é mostrado neste tutorial usando diferentes exemplos.

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 t3

Resultado:

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 identidade
103847 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.TXT
cliente $ 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.TXT

Resultado:

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: $ 30
102: 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 semestral
Joã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.

Como alterar as configurações do mouse e touchpad usando Xinput no Linux
A maioria das distribuições Linux vem com a biblioteca “libinput” por padrão para lidar com eventos de entrada em um sistema. Ele pode processar event...
Remapeie os botões do mouse de maneira diferente para software diferente com o controle de botão do mouse X
Talvez você precise de uma ferramenta que possa fazer o controle do seu mouse mudar com cada aplicativo que você usa. Se for esse o caso, você pode ex...
Análise do mouse sem fio Microsoft Sculpt Touch
Recentemente li sobre o Microsoft Sculpt Touch mouse sem fio e decidi comprá-lo. Depois de usá-lo por um tempo, decidi compartilhar minha experiência ...