AWK - Introdução

Uma breve descrição, usando exemplos, sobre o que é o AWK e para que serve: comandos básicos, variáveis, operadores de comparação e loops, operações aritméticas, funções e etc.

[ Hits: 106.335 ]

Por: jarlisson moreira em 13/07/2012


Operações aritméticas e direcionamento da saída



Operações Aritméticas

Já vimos como comparar variáveis, agora veremos como mudá-las.

Isso pode ser feito através de adição, subtração, multiplicação, divisão e resto da divisão, inclusive com pontos flutuantes (float).

Por exemplo, para exibir o resultado de uma soma:

awk 'BEGIN {var=1 ; print var+var}'

O BEGIN é porque, por padrão, o AWK espera um endereço de arquivo pra operar nele. Nesse caso, como queremos apenas que o comando seja executado, sem a necessidade de um arquivo, usamos o BEGIN. O restante é intuitivo.

Podemos, assim como em diversas outras linguagens, usar:
  • var=var+var     'var' dobra de valor
  • var++              'var' recebe 'var' e depois é incrementada (var=var+1)
  • ++var              primeiro 'var' é incrementada, depois atribuída a ela própria incrementada
  • var1+=var2      é o mesmo que 'var1=var1+var2'

Pra entender melhor, faça e veja:

awk '
	BEGIN
	{
		var=1;
		var=var+var; print var;

		var=0;
		print var++;

		var=0;
		print ++var;

		var1=1;
		var2=2;
		print var1+=var2;
	}
    '


Direcionando a saída

Ao invés de obter os resultados na tela, podemos passar esse resultado para um arquivo, exatamente como o Shell faz.

Mas, aqui vai uma ressalva, o Shell usa '>' para redirecionar a saída, assim como o AWK usa '>' como operador 'maior que'. Então, muito cuidado.

Pra não ter erro, o nome do arquivo, que será a saída, estará entre aspas. Por exemplo:

awk 'BEGIN {print 1+1 > "resultado" }'

Abra o arquivo resultado:

cat resultado

Que terá a resposta 2.

Porém, se já houver um arquivo chamado 'resultado', o AWK irá sobrescrever o dito cujo e todas as informações que estavam anteriormente lá serão perdidas.

Por via das dúvidas, utilize sempre o comando ">>", que anexa o resultado ao fim do arquivo e caso este não exista, é criado.

akw 'BEGIN {print 2+2>> "resultado"}'

cat resultado
2
4


Página anterior     Próxima página

Páginas do artigo
   1. O que é e para que serve
   2. Comandos básicos
   3. Variáveis
   4. if e operadores de comparação
   5. Operações aritméticas e direcionamento da saída
   6. Loops (for & while), funções e considerações finais
Outros artigos deste autor

Processos

LibreOffice Math

Shell - Funções

Sed - Introdução

Pipelines (Canalizadores)

Leitura recomendada

Exemplos práticos de comandos com Parted

Criando um banner em flash no Linux

Dialog em GTK

Recursos avançados do bash que você não aprende na escola

Shell Script: Primeiros conceitos

  
Comentários
[1] Comentário enviado por albfneto em 13/07/2012 - 09:23h

Bom artigo, 10.

[2] Comentário enviado por removido em 13/07/2012 - 09:55h

Bom Artigo para consulta via net e para aprofundar o conhecimento.

Parabéns pelo trabalho feito.

[3] Comentário enviado por xerxeslins em 13/07/2012 - 10:16h

realmente uma excelente fonte de consulta!

Nota 10.

[4] Comentário enviado por eldermarco em 13/07/2012 - 10:40h

Muito bom! Excelente introdução a essa belíssima e muito útil linguagem de programação!

[5] Comentário enviado por ismael_farias em 13/07/2012 - 10:56h

Excelente artigo, vai para os favoritos. Parabéns.

[6] Comentário enviado por cesar em 13/07/2012 - 11:10h

Muito bom, excelente artigo!

[]'s

[7] Comentário enviado por danniel-lara em 14/07/2012 - 12:02h

Parabéns
muito bom o artigo

[8] Comentário enviado por removido em 16/07/2012 - 12:44h

grande trabalho rapaz! obrigado.

[9] Comentário enviado por sir.guil em 16/07/2012 - 15:05h

Muito bom.

[10] Comentário enviado por julio_hoffimann em 16/07/2012 - 17:42h

Parabéns Jarlisson!

Abraço!

[11] Comentário enviado por marcosnakamine em 03/03/2013 - 23:48h

Muito bom.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts