Awk

10 exemplos impressionantes de comandos do Awk

10 exemplos impressionantes de comandos do Awk
O comando Awk é uma ferramenta poderosa para processar dados. Ele obtém dados de entrada, os manipula e fornece resultados em saída padrão. Várias operações podem ser realizadas em linhas e colunas de um arquivo.

Saber os fundamentos do comando “awk” é muito importante quando se trata de processar dados de forma eficiente, e esta postagem cobre os principais recursos do comando “awk”. Vamos verificar a sintaxe primeiro:

$ awk [opções] [arquivo]

Algumas das opções comumente usadas são fornecidas na tabela abaixo:

Opção Descrição
-F Para especificar um separador de arquivo
-f Especifique o arquivo que contém o script “awk”
-v Atribuir variável

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:

$ cat testFile.TXT

Agora, para imprimir a segunda coluna do arquivo, use:

$ awk 'print $ 2' testFile.TXT

Para imprimir mais de um campo, use o comando:

$ awk 'print $ 1, $ 2, $ 3' testFile.TXT

Se você não usar a vírgula “,” a saída ficará sem espaços:

$ awk 'print $ 1 $ 2 $ 3' testFile.TXT

2. Como usar a expressão regular com o comando awk:

Para combinar as strings ou qualquer expressão, usamos barras “//”, por exemplo, se você quiser imprimir os nomes de pessoas que estão estudando “História”, então use:

$ awk '/ History / print $ 2' testFile.TXT

O resultado mostra claramente que apenas “Sam” e “Tommy” estão estudando 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, conforme apresentado no seguinte comando:

$ awk '$ 3 ~ / is / print $ 2' testFile.TXT

A saída acima exibindo todos os campos da coluna 2 em relação a todos os campos que contêm “é” na coluna 3.

E para obter a saída oposta do comando acima, use o botão “! ~ ”Operador:

$ awk '$ 3! ~ / is / print $ 2 'testFile.TXT

Para comparação, também podemos usar operadores como maior que “>” e menor que “<” and equal “=” as well:

$ awk '$ 4> 70 print $ 2' testFile.TXT

A saída imprimiu os nomes de pessoas que obtiveram notas de mais de 70.

4. Como usar o padrão de intervalo com o comando awk:

Um intervalo também pode ser usado para pesquisa; simplesmente use a vírgula “,” para separar o intervalo conforme apresentado no comando mencionado abaixo:

$ awk '/ Joel /, / Marlene / print $ 3' testFile.TXT

O resultado 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:

$ awk '$ 4 == 80, $ 4 == 90 print $ 0' testFile.TXT

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 o padrão usando o operador lógico:

O uso de operadores lógicos como OR “||,” AND “&&” permite combinar padrões de pesquisa. Use o seguinte comando

$ awk '$ 4> 80 && $ 6> 0.4 print $ 2 'testFile.TXT

O comando acima imprime os nomes das pessoas no quarto campo mais significativo do que 80 e no sexto campo maior do 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, “COMEÇAR" e "FIM”:

BEGIN: Para realizar uma ação antes que os dados sejam processados

END: Para realizar uma ação após os dados serem processados

$ awk 'BEGIN imprimir “O processamento começou”; imprimir $ 2; END imprimir “Processamento finalizado” 'testFile.TXT

7. A variável interna útil do comando awk:

O comando awk possui várias variáveis ​​que auxiliam no processamento de dados:

Variável Descrição
NF Fornece o número de campos nos dados
NR Dá o número do registro atual
NOME DO ARQUIVO Mostra o nome do arquivo que está sendo processado
FS e OFS Separador de campo e separador de campo de saída
RS e ORS Separa o registro e o separador de registro de saída

Por exemplo:

$ awk 'END print “O nome do arquivo é” FILENAME “tem campos” NF “e” NR “registros”' testFile.TXT

Usamos "END", mas se você usar "BEGIN", a saída forneceria 0 campos e 0 registros.

8. Como alterar o separador de registro:

O separador padrão no registro geralmente é o espaço; se houver uma vírgula “,” ou ponto “.”Como separador de campo e, em seguida, use a opção“ FS ”junto com o separador.

Vamos ter outro arquivo onde os campos de dados são separados por uma vírgula “:”:

$ cat testFile2.TXT
$ awk 'BEGIN FS = “:” imprimir $ 2' testFile2.TXT

Uma vez que o separador do arquivo é dois pontos, mas o comando “awk” até mesmo benéfico para arquivos como este, simplesmente use a opção “FS”.

O “-F” também pode ser usado:

$ awk -F “:” 'print $ 2' testFile2.TXT

O separador de registro padrão é “nova linha” e para definir o separador de registro como “:”, use:

$ awk 'BEGIN RS = “:” imprimir $ 1' testFile2.TXT

9. Ações Awk:

As ações awk são programas minúsculos entre colchetes “” e têm mais de uma instrução separada por ponto e vírgula “;”.

A declaração mais usada com o comando “awk” é a declaração “imprimir”. Por exemplo, para imprimir um texto com cada registro, use string de texto entre aspas:

$ awk '“O é um campo,” $ 2' testfile.TXT

Vamos realizar uma operação de soma simples usando awk:

$ awk 'sum + = $ 4 END printf “% d \ n”, soma' testFile.TXT

10. Criando um programa awk:

Vamos começar com a programação “awk”, a programação fornecida abaixo é simplesmente fazer multiplicação:

COMEÇAR
i = 2
while (j<4)

imprima “A multiplicação de 2 com” j “é” i * j;
j++

Salve o programa com o nome de “myCode.awk”E para executá-lo, abra o terminal e digite:

$ awk -f myCode.awk

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”. 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é mesmo analisa arquivos. Usar comandos simples “awk” também permite que os usuários escrevam pequenos programas para processar dados de forma mais eficiente.

Tutorial de Battle for Wesnoth
The Battle for Wesnoth é um dos jogos de estratégia de código aberto mais populares que você pode jogar no momento. Este jogo não está apenas em desen...
0 A.D. Tutorial
Dos muitos jogos de estratégia que existem, 0 A.D. consegue se destacar como um título abrangente e um jogo muito profundo e tático, apesar de ser de ...
Tutorial Unity3D
Introdução ao Unity 3D Unity 3D é um poderoso motor de desenvolvimento de jogos. É uma plataforma cruzada que permite criar jogos para celular, web, d...