10 Exemplos Incríveis de Comandos Awk
O comando Awk é uma ferramenta poderosa para processar dados. Ele obtém dados de entrada, os manipula e fornece resultados na saída padrão. Várias operações podem ser executadas em linhas e colunas de um arquivo.
Conhecer os fundamentos do comando “awk” é muito importante quando se trata de processar dados com eficiência, e esta postagem aborda os principais recursos do comando “awk”. Vamos verificar a sintaxe primeiro:
Algumas das opções comumente usadas são dadas na tabela abaixo:
Option | Description |
-F | To specify a file separator |
-f | Specify the file that contains the “awk” script |
-v | To assign variable |
Vamos dar uma olhada em alguns exemplos sobre o uso do comando “awk ” e, para demonstração, criei um arquivo de texto com o nome de testFile.txt:
1. Como imprimir uma coluna de um arquivo com o comando awk?
O comando “awk ” pode ser usado para obter uma coluna específica do arquivo de texto. Para imprimir o conteúdo do arquivo use:
Agora, para imprimir a segunda coluna do arquivo, use:
Para imprimir mais de um campo, use o comando:
Se você não usar a vírgula “,”, a saída será sem espaços:
2. Como usar expressões regulares com o comando awk:
Para corresponder as strings ou qualquer expressão, usamos barras “//”, por exemplo, se você quiser imprimir os nomes das pessoas que estão estudando “História”, então use:
A saída mostra claramente que apenas “Sam” e “Tommy” estão cursando o curso de “História”.
3. Como usar a expressão relacional com o comando “awk”:
Para corresponder ao conteúdo de um campo específico, a expressão relacional pode ser usada. Para corresponder qualquer string ou expressão a um campo, indique o campo e use o operador de comparação “~” com o padrão apresentado no seguinte comando:
A saída acima exibindo cada campo na coluna 2 em relação a cada campo que contém “é” na coluna 3.
E para obter a saída oposta do comando acima, use o comando “! ~” operador:
Para comparação, também podemos usar operadores como maior que “>” e menor que “<” e igual a “=” também:
A saída imprimiu os nomes das pessoas que obtiveram notas acima de 70.
4. Como usar o padrão de intervalo com o comando awk:
Um intervalo também pode ser usado para pesquisa; basta usar a vírgula “, ” para separar o intervalo conforme apresentado no comando abaixo:
A saída mostra os assuntos do intervalo de “Joel ” a “Marlene ” da coluna 2. Podemos usar o sinal de igual duplo “== ” para definir um intervalo; veja o exemplo abaixo:
A saída exibe os nomes das pessoas da coluna 2 para o intervalo de notas “70 a 80” da coluna 4.
5. Como combinar padrão usando o operador lógico:
O uso de operadores lógicos como OR “||, ” AND “&& ” permite combinar padrões para pesquisa. Use o seguinte comando
O comando acima imprime os nomes das pessoas no quarto campo mais significativo que 80 e no sexto campo maior que 0,4. E apenas dois registros estão cumprindo a condição.
6. As expressões especiais do comando awk:
Existem duas expressões especiais, “BEGIN ” e “END ”:
BEGIN: Para executar uma ação antes que os dados sejam processados
END: Para executar uma ação após o processamento dos dados
7. A variável interna útil do comando awk:
O comando awk possui diversas variáveis que auxiliam no processamento dos dados:
- NF
Dá o número de campos nos dados
- NR
Dá o número do registro atual
- FILENAME
Exibe o nome do arquivo que está sendo processado no momento
- FS and OFS
Separador de campo e separador de campo de saída
- RS and ORS
Separa o registro e o separador de registro de saída
Por exemplo:
Usamos “END”, mas se você usar “BEGIN”, a saída daria 0 campos e 0 registros.
8. Como alterar o separador de registro:
O separador padrão no registro geralmente é um espaço; se houver vírgula “,” ou ponto “. ” como seu separador de campo, então use a opção “FS ” junto com o separador.
Vamos ter outro arquivo onde os campos de dados são separados por vírgula e dois pontos “:”:
$awk ‘BEGIN {FS= “:”} {print $2}’ testFile2.txt
Como o separador do arquivo é dois pontos, mas o comando “awk” até é benéfico para arquivos assim, basta usar a opção “FS”.
O “-F” também pode ser usado:
O separador de registro padrão é “nova linha” e para definir o separador de registro como “:”, use:
9. Ações do Awk:
Ações Awk são pequenos programas que estão entre colchetes “{}” e têm mais de uma instrução separada por ponto-e-vírgula”; ”.
A instrução mais usada com o comando “awk” é a instrução “print”. Por exemplo, para imprimir um texto com cada registro, use a string de texto entre aspas:
Vamos realizar uma simples operação de soma usando o awk:
10. Criando um programa awk:
Vamos começar com a programação “awk”, a programação abaixo é simplesmente fazer a multiplicação:
i=2
while(j<4)
{
print “The multiplication of 2 with” j “ is ” i*j;
j++
}
}
Salve o programa com o nome de “myCode.awk ” e para executá-lo, abra o terminal e digite:
Conclusão:
O comando “awk” é um comando útil para processar, digitalizar dados de arquivos de texto, como separar qualquer campo específico de um arquivo; usamos o comando “awk”. Isso torna mais fácil pesquisar qualquer coisa em qualquer forma ou padrão nos arquivos de texto. Neste guia, entendemos os fundamentos do comando “awk” e seu uso. O comando “awk ” valida dados, gera relatórios e até analisa arquivos. O uso de comandos simples “awk” também permite que os usuários escrevam pequenos programas para processar dados com mais eficiência.