Fique por dentro das novidades do seu tema preferido

Aprenda a criar sites incríveis com facilidade

Use o poder da internet para divulgar o seu negócio

Inspire-se com as estratégias de grandes empresas

Conteúdos variados para alavancar os resultados do seu projeto

A confirmação da sua inscrição foi enviada para o seu e-mail

Agradecemos sua inscrição e esperamos que você aproveite nossos conteúdos!

Aprenda nesse artigo como utilizar o comando awk do Linux para realizar diversas funções na linha de comando. Tempo estimado de solução: 9min

O awk é um comando do Linux que possuí diversas funções e níveis de complexidade, com ele você pode filtrar colunas em um texto e até mesmo criar lógicas para manipular um conteúdo. Nesse artigo você aprenderá o básico da utilização do comando awk Linux. Vamos lá?

O que é o comando awk?

O comando awk é uma linguagem de script e é de grande ajuda quando você estiver trabalhando com linha de comando. Ele é comumente utilizado para manipulação de texto.

Por exemplo, digamos que você possuí um arquivo com cinco colunas, onde cada coluna possuí alguma informação sobre uma linha. Se você achar que é pertinente visualizar apenas a primeira e terceira coluna, você pode criar esse filtro com o awk de forma simples. Veremos a seguir como.

Se você se interessou, confira mais a respeito na documentação oficial do awk.

Como usar o awk

O awk é um programa que possuí muitas funcionalidades e por isso pode ter uma adaptação complicada num primeiro momento, mas sugiro acompanhar esse artigo reproduzindo os comandos junto ao seu terminal Linux, para se familiarizar com o comando.

É recomendado saber alguns conceitos básicos de Linux para dar seus primeiros passos com o awk. Confira o artigo comandos básicos de Linux.

Verificando a versão do awk

Para verificar a versão do awk execute o seguinte comando em seu terminal:

$ awk --version

Instalar o awk

Se você tentou verificar a versão do awk com o comando anterior e não conseguiu, pode ser que você não tenha o awk instalado na sua distribuição. Execute o seguinte comando para instalar o awk (necessário estar como root):

$ sudo apt-get install gawk

Como exibir o conteúdo de um arquivo

O awk permite visualizar o conteúdo de um arquivo, seria uma das formas mais simples de utilizá-lo. Para exibir o conteúdo de um arquivo execute o seguinte comando:

$ awk '{print}' ARQUIVO

Vamos supor que temos um arquivo chamado clientes.txt que possuí o seguinte conteúdo:

Nome Idade Estado Classe
Ana 25 SC A
Armando 33 RJ B
Gustavo 32 SP A
Hugo 19 SP C
Julia 28 RS B
Luis 22 BA B
Rafaela 41 ES A
Victor 33 PI A

Utilizando o awk podemos exibir o conteúdo do arquivo clientes.txt:

Comando awk exibindo o conteúdo de um arquivo

Filtrar colunas em um arquivo

O awk permite filtrar uma coluna em específico de um arquivo ou texto. O awk compreende por padrão que o separador de uma colunas é um caractere de espaço ou tab, podendo ser redefinido se necessário. Para isso basta executar o seguinte comando:

$ awk '{print $NUMERO-DA-COLUNA}' ARQUIVO

Veja um exemplo abaixo do awk filtrando a primeira coluna do arquivo clientes.txt que mencionamos anteriormente:

Comando awk exibindo a primeira coluna de um arquivo

Além disso, também é possível filtrar mais de uma coluna, veja um exemplo do awk filtrando a primeira e terceira coluna do arquivo clientes.txt:

Exibindo a primeira e terceira coluna de um arquivo

Nota: Ao utilizar a coluna $0 o awk vai exibir todas as colunas do arquivo.

Filtrando colunas de uma string

O awk pode filtrar o conteúdo de uma string utilizando o pipe (|) para encadear a saída de outro comando. Por exemplo, ao utilizarmos o comando ls -la é exibido no terminal todos os arquivos que estão no diretório atual, seus nomes e suas informações:

Resultado do comando ls -la do Linux

Utilize o awk da seguinte maneira para filtrar uma coluna de uma string:

$ ls -la | awk '{print $NUMERO-DA-COLUNA}'

Veja um exemplo ao filtrarmos apenas a nona coluna:

Filtrando o conteúdo de uma string

Filtrar uma coluna utilizando outro padrão de separação

Por vezes queremos filtrar uma coluna, porém, às vezes ela não está separada por um caractere de espaço ou tab, e sim algum outro caractere. Nesse caso precisamos definir qual caractere será usado para definir as colunas no conteúdo. Para isso utilizamos a seguinte expressão:

$ awk -F 'CARACTERE' '{print $NUMERO-DA-COLUNA}' ARQUIVO

Vamos supor que no arquivo urls-blog-hostgator.txt possua o seguinte conteúdo:

https://hostgator.com.br/blog/como-adicionar-o-google-analytics-no-wordpress
https://hostgator.com.br/blog/como-adicionar-um-favicon-no-wordpress
https://hostgator.com.br/blog/como-alterar-a-senha-de-administrador-do-drupal
https://hostgator.com.br/blog/como-alterar-a-senha-de-administrador-do-joomla
https://hostgator.com.br/blog/como-alterar-a-senha-de-administrador-do-magento
https://hostgator.com.br/blog/como-alterar-a-senha-do-administrador-wordpress
https://hostgator.com.br/blog/como-alterar-a-senha-do-cpanel
https://hostgator.com.br/blog/como-alterar-idioma-do-wordpress
https://hostgator.com.br/blog/como-armazenar-backups-de-um-servidor-dedicado-ou-vps-no-google-drive
https://hostgator.com.br/blog/como-ativar-o-modo-manutencao-no-wordpress
https://hostgator.com.br/blog/como-colocar-botao-do-whatsapp-no-wordpress

Se quisermos filtrar apenas a parte da slug dessas URLs, podemos utilizar o caractere / para ser o nosso separador de colunas. Ficaria assim:

Comando awk utilizando outro caractere como padrão que define colunas

No caso acima, informamos após a flag -F que o caractere que define as colunas é o / e em seguida, imprimimos a quinta coluna.

Considerações Finais

Nesse artigo você aprendeu sobre o básico do comando awk do Linux e algumas de suas opções de filtragem.

Se você sentiu alguma dificuldade ou então tem alguma sugestão de algo que não foi mencionado, basta deixar aí nos comentários que no futuro podemos trazer atualizações para este artigo. Também indico esses outros materiais relacionados com este assunto:

Até a próxima! :^)

Navegue por tópicos

  • O que é o comando awk?

  • Como usar o awk

    • Verificando a versão do awk

    • Instalar o awk

    • Como exibir o conteúdo de um arquivo

    • Filtrar colunas em um arquivo

    • Filtrando colunas de uma string

    • Filtrar uma coluna utilizando outro padrão de separação

  • Considerações Finais

Tags:

  • Servidor Dedicado Linux
  • Servidor VPS

Julio Pires

Analista de Conteúdo Técnico na empresa HostGator e estudante de Física na UFSC. Gosta de maratonar séries, jogar jogos clássicos, nunca nega uma partida de xadrez e busca estar sempre atualizado com o mundo da tecnologia.

Mais artigos do autor

Garanta sua presença online

Encontre o nome perfeito para seu site

www.