Como ler a entrada AWK de Stdin em Linux - Parte 7

Como ler a entrada AWK de Stdin em Linux - Parte 7

Nas partes anteriores da série Awk Tool, analisamos a leitura de entrada principalmente de um (s) arquivo (s), mas e se você quiser ler a entrada de Stdin.

Nesta parte 7 da série AWK, examinaremos alguns exemplos onde você pode filtrar a saída de outros comandos em vez de ler a entrada de um arquivo.

Começaremos com o utilitário dir que funciona semelhante ao comando ls, no primeiro exemplo abaixo, usamos a saída de dir -l Comando como entrada para a AWK imprimir o nome de usuário do proprietário, o nome do grupo e os arquivos que ele possui no diretório atual:

# dir -l | awk 'print $ 3, $ 4, $ 9;' 
List Arquivos de propriedade do usuário no diretório

Dê uma olhada em outro exemplo em que empregamos expressões AWK, aqui, queremos imprimir arquivos de propriedade do raiz Usuário usando uma expressão para filtrar strings como no comando AWK abaixo:

# dir -l | awk '$ 3 == "root" imprimir $ 1, $ 3, $ 4, $ 9;' 
List Arquivos de propriedade do usuário root

O comando acima inclui o (==) Operador de comparação para nos ajudar a filtrar os arquivos no diretório atual, de propriedade do usuário root. Isso é alcançado usando a expressão $ 3 == "raiz".

Vejamos outro exemplo de onde usamos um operador de comparação AWK para combinar com uma certa string.

Aqui, usamos o utilitário de gatos para visualizar o conteúdo de um arquivo nomeado Tecmint_deals.TXT E queremos ver os acordos do tipo Tecnologia Somente, então executaremos os seguintes comandos:

# Cat Tecmint_Deals.txt # cat tecmint_deals.txt | Awk '$ 4 ~ /Tech /print' # Cat Tecmint_Deals.txt | Awk '$ 4 ~ /Tech /print' 
Use o operador de comparação AWK para combinar com string

No exemplo acima, usamos o valor ~ /padrão / Operador de comparação, mas há dois comandos para tentar trazer algo muito importante.

Quando você executa o comando com padrão tecnologia Nada é impresso porque não há negócio desse tipo, mas com Tecnologia, você recebe ofertas do tipo Tecnologia.

Portanto, sempre tenha cuidado ao usar este operador de comparação, é sensível ao maiúsculas, como vimos acima.

Você sempre pode usar a saída de outro comando como entrada para awk, em vez de ler a entrada de um arquivo, isso é muito simples, como analisamos nos exemplos acima.

Espero que os exemplos tenham sido claros o suficiente para você entender, se tiver alguma preocupação, pode expressá -los através da seção de comentários abaixo e lembrar de verificar a próxima parte da série em que vamos olhar Awk Recursos como variáveis, expressões numéricas e operadores de atribuição.