AWK – Exemplos Básicos

AWK – Exemplos Básicos

Anúncios

Este capítulo descreve várias útil AWK comandos e seus exemplos apropriados. Considere um arquivo de texto marcas.txt a ser processado com o seguinte conteúdo –

1) Amit Physics 802) Rahul Maths 903) Shyam Biology 874) Kedar English 855) Hari History 89

imprimir coluna ou campo

pode indicar ao AWK para imprimir apenas algumas colunas do campo de entrada., O exemplo seguinte demonstra este −

exemplo

$ awk '{print $3 "\t" $4}' marks.txt

ao executar este código, obtém o seguinte resultado –

saída

Physics 80Maths 90Biology 87English 85History 89

nas marcas de ficheiros.txt, a terceira coluna contém o nome do assunto e a quarta coluna contém as marcas obtidas num determinado assunto. Vamos imprimir estas duas colunas usando o comando AWK print. No exemplo acima, $ 3 e $4 representam o terceiro e o quarto campos, respectivamente, do registro de entrada.

imprimindo todas as linhas

por omissão, o AWK imprime todas as linhas que correspondem ao padrão.,

Exemplo

$ awk '/a/ {print $0}' marks.txt

Em executar esse código, você pode obter o seguinte resultado −

de Saída

2) Rahul Maths 903) Shyam Biology 874) Kedar English 855) Hari History 89

No exemplo acima, estamos buscando formar um padrão. Quando uma correspondência de padrões tiver êxito, ele executa um comando do corpo de bloco. Na ausência de um bloco de corpo − ação padrão é tomada que é imprimir o registro. Assim, o seguinte comando produz o mesmo resultado −

Exemplo

$ awk '/a/' marks.txt

Impressão de Colunas por Padrão

Quando um padrão de correspondência é bem sucedida, AWK imprime todo o registro por padrão., Mas você pode instruir AWK a imprimir apenas certos campos. Por exemplo, o seguinte exemplo imprime o terceiro e o quarto campo quando um padrão corresponde com sucesso.

Exemplo

$ awk '/a/ {print $3 "\t" $4}' marks.txt

Em executar esse código, você pode obter o seguinte resultado −

de Saída

Maths 90Biology 87English 85History 89

a Impressão de Colunas em Qualquer Ordem

Você pode imprimir colunas em qualquer ordem. Por exemplo, o exemplo seguinte imprime a quarta coluna seguida da terceira coluna.,

Exemplo

$ awk '/a/ {print $4 "\t" $3}' marks.txt

Em executar o código acima, você pode obter o seguinte resultado −

de Saída

90 Maths87 Biology85 English89 History

Contagem e Impressão de Correspondência por Padrão

Vamos ver um exemplo onde você pode contagem e impressão do número de linhas para que uma correspondência de padrões bem sucedidos.

Exemplo

$ awk '/a/{++cnt} END {print "Count = ", cnt}' marks.txt

Em executar esse código, você pode obter o seguinte resultado −

de Saída

Count = 4

neste exemplo, podemos aumentar o valor do contador quando um padrão de correspondência é bem sucedida e nós imprimir este valor no FINAL do bloco., Note que ao contrário de outras linguagens de programação, não há necessidade de declarar uma variável antes de usá-la.

Linhas de Impressão, com Mais de 18 Caracteres

Vamos imprimir apenas as linhas que contenham mais de 18 caracteres.

Exemplo

$ awk 'length($0) > 18' marks.txt

Em executar esse código, você pode obter o seguinte resultado −

de Saída

3) Shyam Biology 874) Kedar English 85

AWK fornece um built-in função de comprimento que retorna o comprimento da string. $0 variável armazena toda a linha e na ausência de um bloco de corpo, a ação padrão é tomada, ou seja, a ação de impressão., Assim, se uma linha tem mais de 18 caracteres, então a comparação resulta verdadeira e a linha é impressa.

Anúncios

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *