Category Archives: awk

AWK – Como usar uma variável shell

Para usar uma variável shell numa linha de comando do AWK, há 2 maneiras de se fazer isso.

Uma delas é usar aspas como no exemplo abaixo usando a variável shell count:

awk "/ $count/ " ' { print $1 }'

A outra é atribuir o valor da variável à  uma variável do próprio awk através da opção -v. Por exemplo, usando a variável shell count e a variável awk co:

awk -v co="$count" '{if ($1 == co) print $2 }'`

Referência:

AWK – Exemplo de uso com if

No exemplo abaixo, usarei o awk para avaliar o valor de uma coluna de dados e caso tenha o valor que eu desejo, imprimirei na tela os campos de meu interesse.

No exemplo abaixo quero avaliar se a data de um arquivo é 2006 e então exibir na tela a data e o nome do arquivo:

Saida do comando “ls -l”

# ls -l
-rw-r-----   1 userfoo   groupfoo  68578 Dec 29 2006  file_foo1.txt
-rw-r-----   1 userfoo   groupfoo  84609 Dec 29 2006  file_foo2.txt
-rw-r-----   1 userfoo   groupfoo  44587 Dec 29 2006  file_foo3.txt

Usando o awk:

# ls -l | awk  '{if ($8 == "2006") print $8 "  " $9}'

2006  file_foo1.txt
2006  file_foo2.txt
2006  file_foo3.txt

 

Referência:

Mais informações sobre o uso do awk: http://www.grymoire.com/Unix/Awk.html