Nota: O seguinte artigo irá ajudá-lo com: Como usar o awk para selecionar dados de comandos e scripts
O comando awk é incrivelmente útil e você ficará surpreso com o quão poderoso e transformador ele tornará seus scripts. Veja como começar a usá-lo.
Embora não seja fã de programação, adoro trabalhar na linha de comando o máximo possível e tenho grande respeito pelos programadores e pelo que eles podem fazer. Enquanto trabalho na evolução de minhas habilidades em Linux, encontro muita polinização cruzada entre Linux e macOS no Terminal devido à sua base UNIX compartilhada, e recentemente comecei a usar alguns comandos Linux mais avançados (para mim) em meus scripts .
VEJO: As 5 principais linguagens de programação para os es de sistemas aprenderem (PDF grátis) (TechRepublic)
Um comando que simplesmente me surpreendeu é awk. Para aqueles que não têm certeza, deixe-me dizer que awk é incrível! Basicamente, é como um comando de filtro que interpreta os dados alimentados a ele. Awk verifica o arquivo/dados e divide as partes de uma linha em campos. Isso permite que o usuário transforme os dados como achar melhor, produza relatórios formatados de uma determinada maneira, verifique padrões ou execute operações de programação com base nesses dados. Também funciona muito bem com variáveis para segmentar pontos de dados específicos para recuperação posterior.
Este artigo está longe de ser uma abordagem avançada do awk, mas se você deseja adicionar ao seu conjunto de habilidades expandindo seu conhecimento do Linux/macOS Terminal, ou simplesmente deseja implementar esse ótimo pequeno utilitário em seus scripts para torná-lo robusto e rico em recursos uso de dados, então isso deve ajudá-lo a começar no caminho para a iluminação awk.
Imprimir todos os dados de um arquivo
Uma das maneiras mais fáceis de usar o awk é escanear um arquivo e imprimir ou exibir (Figura A) o conteúdo na tela usando a seguinte sintaxe:
awk {print} filename.ext
Figura A
Encontre linhas que correspondam a um padrão específico
Digamos que você deseja agrupar todas as linhas que correspondem a um padrão especificado. A sintaxe a seguir exibiria apenas as linhas que correspondem aos critérios daqueles com o título de trabalho “Doutor” (Figura B):
awk '/Doctor/ {print}' filename.ext
Figura B
Especifique dados específicos com base no campo
O comando awk inclui variáveis internas, começando com $0 (que imprime o arquivo inteiro) e indo até $1, $2 e assim por diante. Essa variável é atribuída a uma seção/coluna e fará referência a todos os itens nas linhas que se enquadram nesse cabeçalho. No nosso exemplo abaixo (Figura C), as variáveis $4 e $6 seriam traduzidas para os cabeçalhos “email_address” e “location_id”, então a sintaxe para exibir apenas as informações que correspondam a esses dois padrões seria:
awk '{print $4,$6}' filename.ext
Figura C
Na minha experiência, descobri que o awk é extremamente versátil e útil além das palavras, mas não sem sua parcela de momentos de coçar a cabeça. Como com qualquer coisa, não posso recomendar o suficiente para experimentar o comando, ler as páginas de manual e definitivamente testá-lo em seus scripts em um ambiente de não produção até obter uma compreensão mais forte do que o utilitário é capaz.