Como usar filtros em Pipes Linux – Aula 17 – Módulo 5

Share on facebook
Share on twitter
Share on linkedin
Share on pinterest
Share on tumblr
Share on telegram
Share on whatsapp
Share on skype
Share on email

Nesta aula do Curso de Linux Básico | XP IT Cursos, aprenderemos a utilizar comandos de filtros em pipes no terminal Linux.

Depois de nossas últimas aulas em que entendemos o conceito de Fluxos Padrão Linux e conhecemos redirecionamentos e pipes, agora vamos aprender a trabalhar com o uso de filtros juntamente com estes recursos.



Curso Linux : Básico
🎦 Módulo 05 : Aula 17 : Como utilizar filtros com Pipes Linux 🐧


🎦 Como Usar Redirecionamento e Pipe Linux ✅💻
🕐 Conteúdo

⏺ Introdução
⏺ Pré Requisitos : Aula
⏺ O que são filtros em Pipes ? para que servem e como eles funcionam ?

Comandos mais utilizados como filtros em Pipes

  • Comando wc
  • Comando sort
  • Comando tee
  • Comando find
  • Comando grep
  • Comando tr
  • Comando head
  • Comando tail
  • Comando xargs
  • Comando awk


⏺ Exemplos Práticos com uso de filtros em Pipes : Linux
⏺ Pipeline Linux

Esta aula faz parte do Curso Linux Básico da XP IT Cursos, uma plataforma ensino completa que irá proporcionar seu aprendizado de uma forma rápida e consistente.

XP IT Cursos

XP IT Cursos oferece uma oferta a preços acessíveis a Plataforma de Aprendizado com Vídeo Aulas do WebMundi.com + Trilha de Aprendizagem,  Material didático em PDF, exercícios de fixação / Revisão de Conteúdo, questionários e o final do curso o Certificado de Conclusão.


+ Garanta seu desconto exclusivo em : https://www.xpitcursos.com.br

Aula # 17 : Utilização de filtros em Pipes Linux – Módulo 5 👩🏻‍💻🐧
[Canal Web Mundi.com + XP IT Cursos]

https://www.youtube.com/watch?v=zfLaWaGVYnI
Filtros em Pipes

O que são comandos de filtros em Pipes : Linux ?

Os filtros são comandos podem ser utilizados com pipes ou redirecionadores que alteram a saída dos dados canalizados no pipe. 

Os comandos de filtro também são comandos padrão do Linux que podem ser usados sem pipes.

Filtros em pipes : Linux : Para que servem ?

Os comandos de filtragem ajudam a classificar, exibir e selecionar partes da saída de um comando.

Filtros em pipes : Linux : Como Funcionam ?

Basicamente os filtros tomam a entrada padrão Linux e realizam uma operação sobre ela, e enviam o resultado para uma saída padrão Linux.

Desta forma, os filtros podem ser utilizados para processar informações de forma poderosa e versátil.

A seguir vamos conhecer os comandos mais comuns no uso de filtros.

Comandos de filtro : Redirecionamentos e Pipes : Linux

Agora vamos conhecer os Comandos mais usados em filtros, alguns comandos já vimos alguns aqui no curso em aulas anteriores como grep, find, tr, wc, sort entre outros, mas existem outros que nunca vimos. Então vamos lá.

Como usar filtros em Pipes Linux - Aula 17 - Módulo 5
Como usar filtros em Pipes Linux – Aula 17 – Módulo 5

Comandos mais usados em filtros : Linux

A seguir alguns comandos que podem ser utilizados como filtros em pipes Linux.

Para o vídeo não ficar cansativo, vou apenas citar o comando e caso você queira entender um pouco mais sobre sua finalidade e uso, pode dar um pause aqui ou acessar nosso roteiro com todo este detalhamento.

  • wc – o wc conta caracteres, linhas e palavras.
  • sort – Classifica entrada padrão, então envia o resultado classificado para a saída padrão.
  • tee – O comando tee envia o resultado do programa ao mesmo tempo para a saída padrão (tela) e para um arquivo. Este comando deve ser usado com o pipe “|”.
  • find – Find retorna arquivos com nomes de arquivo que correspondem ao argumento passado para find.
  • grep – Grep retorna o texto que corresponde ao padrão de string passado para grep.
  • tr – localiza e substitui uma string por outra. O tr pode ser usado para executar tarefas como conversões de MAIÚSCULAS/minúsculas ou mudar os caracteres de terminação da linha de um tipo para outro (por exemplo, a conversão de arquivos de texto do DOS para arquivos de texto estilo Unix).
  • head – Envia o resultado das primeiras poucas linhas a partir da entrada. Útil para obter o cabeçalho de um arquivo.
  • tail – Envia o resultado das últimas linhas a partir de sua entrada. Útil para obter resultados como por exemplo as entradas mais recentes de um arquivo de log.
  • xargs – Este comando é utilizado para que a partir de uma lista de argumentos, executar um comando passando essa lista como argumento(s) desse comando.
  • awk – Uma linguagem de programação inteiramente projetada para a construção de filtros. Extremamente poderosa.

Além desses, existem outros comandos que podem ser usados para filtragem de resultados, vamos a explicação de alguns de uso mais frequente e mais simples de entender.

Exemplos Práticos uso de filtros com Pipes : Linux

Como vimos em nossa aulas anteriores, o pipe encadeia comandos no terminal Linux

Exemplo:

comando1 | comando2

No exemplo, o pipe informa ao shell que queremos usar a saída do comando1 à esquerda como entrada para o comando2 à direita.

Resumindo o Pipe redireciona a saída padrão do primeiro comando para a entrada padrão do segundo comando.

Veja alguns comandos que usamos em nossa aula anterior:

ls | wc -l
cat webmundi.txt | more
cat webmundi.txt | less
cat animais.txt | sort

Mas podemos encadear pipes e filtrar a saída de um comando, usando um comando de filtro

Vamos a um exemplo pratico passo a passo no terminal do linux.

Primeiro vamos usar um comando simples sem pipe ou filtro, como por exemplo :

wc -l *.txt

o comando wc -l conta as linhas de um arquivos como estou utilizando *.txt digo ao bash que quero a contagem da quantidade de linhas somente dos arquivos com extensão .txt

Porem veja que a saída é desordenada e quero classificar meu resultado de forma nuerica crescente.

webmundi@webmundi-VirtualBox:~$ wc -l *.txt
    11 animais-alfabetico.txt
    11 animais.txt
  1171 erros.txt
  1165 find.erros.txt
     8 mesatual.txt
     0 mes.txt
    34 novotexto.txt
  4193 resultados.txt
    31 roteiro.txt
     3 textonovo.txt
    34 webmundi.txt
  6661 total

Para isso, Podemos utilizar um comando de filtro como o sort para ordenar o resultado do comando, com isso, podemos enviar a saída do comando wc diretamente para o comando sort, como o seguinte comando:

wc -l *.txt | sort -n

Com isso, o resultado é gerado de forma ordenada por número de linha.

webmundi@webmundi-VirtualBox:~$ wc -l *.txt | sort -n
     0 mes.txt
     3 textonovo.txt
     8 mesatual.txt
    11 animais-alfabetico.txt
    11 animais.txt
    31 roteiro.txt
    34 novotexto.txt
    34 webmundi.txt
  1165 find.erros.txt
  1171 erros.txt
  4193 resultados.txt
  6661 total

Pipeline Linux

Podemos encadear mais os comandos, utilizando mais de um operador pipe.

Este Recurso é chamado de Pipeline

Exemplo:

comando1 | comando2 | comando3 | comando4

Pipeline é uma sequência de programas/comandos separados pelo operador ‘ | ‘ onde a saída de execução de cada comando é dada como entrada para o próximo comando. 

Cada comando em um pipeline é executado em um novo subshell.

Encadeamento de pipes = Pipeline

Filtros em Pipeline Linux

No Pipeline podemos usar comandos para filtrar a saída, que será utilizada como entrada para o próximo comando a direita.

Vamos para nosso exemplo anterior, dando uma incrementada e formando um pipeline.

Usando nosso exemplo, podemos usar pipes para enviar a saída de wc para sort e depois a saída do sort resultante para head:

wc -l *.txt | sort -n | head -n 1

E veja que este pipeline trará somente o primeira linha do resultado (head -n 1), se mudarmos para head -n 2, Retornará a 1a e 2a linha.

Posso fazer uma variante deste comando usando o tail que mostrará as 3 ultimas linhas do resultado do comando wc de forma ordenada pelo sort

wc -l *.txt | sort -n | tail -n 3

Comando tee

Vamos agora conhecer o comando tee, ele obedece ao seguinte padrão:

comando | tee arquivo

O comando tee  redireciona a saída padrão do comando para um arquivo e sobrescreve seu conteúdo. Em seguida, ele exibe a saída redirecionada no terminal. 

Ele cria um novo arquivo se o arquivo ainda não existir.

No contexto do padrão, o tee é usado para visualizar a saída de um comando enquanto simultaneamente salva esta saída em um arquivo.

Vamos a exemplos práticos:

ls -la | tee listadir.txt
clear
cat listadir.txt
clear
wc -l *.txt | sort -n | tee linarquivo.txt
clear
cat linarquivo.txt
clear

Exemplos de uso comandos find e grep como filtros em um pipe / pipeline Linux

Agora vamos aprender a usar o comando find e grep em pipes e pipelines Linux.

Estes comandos são bastante utilizados em filtros com pipes, e Já foram tratados aqui em nosso curso e só para relembrar o que eles fazem, segue suas descrições breves:

  • O find retorna arquivos com nomes de arquivo que correspondem ao argumento passado para find.

Exemplo: find /var lib
Esta instrução faz uma pesquisa no diretório /var e suas subpastas e retorna nomes de arquivos e extensões.

  • grep que retorna o texto que corresponde ao padrão de string passado para o comando.

Exemplo Prático : Utilização de Find e Grep como filtros em pipes

Agora no Terminal Linux, vamos fazer uma busca em /var trazendo somente arquivos e diretórios que contenham a palavra python

Para isso, usamos o seguinte comando:

find /var lib | grep python

Ou seja o comando find faz uma pesquisa no diretório /var e suas subpastas e retorna nomes de arquivos e extensões que contenham a string(texto) igual a python.

Vamos a mais um exemplo utilizando pipes e redirecionamentos juntamente com filtros

ls ~ | grep *txt | tr w W >> ls_log.txt

Este pipeline realiza um ls na pasta do usuário (~) e o pipe envia saída para o grep que filtra apenas conteúdos com a string txt depois o pipe envia a saída para o comando tr que localiza a string w e substitui por outra string W

veja o resultado em:

cat ls_log.txt

Exemplo de uso do Comando xargs : Linux

Vamos agora conhecer o comando xargs que também pode ser utilizado como lista de filtros ou parâmetros para comandos de terminal Linux

O comando xargs é utilizado para que a partir de uma lista de argumentos, seja possível executar um comando passando essa lista como argumento(s) de comando no terminal.

Parece um pouco complicado, mas vamos a prática diretamente no terminal.

Criei um arquivo no nano chamado diretorios.txt e nele inseri 3 linhas com o seguinte conteúdo:

cat diretorios.txt

dirwebmundi1
dirwebmundi2
dirwebmundi3

Vamos usar o arquivo diretorios.txt como dados de entrada (lista de argumentos) para xargs
O comando que vamos usar é este:

cat diretorios.txt | xargs -I % sh -c 'echo %; mkdir %'

Este comando cria diretórios a partir do nome fornecido pelo arquivo diretorios.txt

Para exibir os diretórios criados, usamos:

ls -lha

Mas vamos entender o comando, dividindo por partes:

  • cat diretorios.txt | Envia o conteúdo do arquivo diretorios.txt (todos os novos nomes de diretório) para xargs.
  • xargs -I % : Isso define uma “string de substituição” com o token “%”.
  • sh -c : Isso inicia um novo subshell. O – c (comando) diz ao shell para ler os comandos da linha de comando.
  • echo %; mkdir %‘ : cada um dos tokens “%” será substituído pelos nomes de diretório que são passados xargs.
    O Comando echo imprimirá o nome do diretório e o comando mkdir criará o diretório.
    Este último comando criou 3 diretórios na pasta corrente usando o comando xargs.

Vamos agora criar uma variante do comando anterior usando xargs e excluindo os diretórios criados

cat diretorios.txt | xargs -I % sh -c 'echo %; rmdir %'

Conferindo se os diretórios foram excluídos

ls -lha

Exemplo de uso do awk : Linux

Outro exemplo de utilização de comandos de terminal com pipes e filtros é a linguagem awk.

A awk é uma linguagem de programação inteiramente projetada para a construção de filtros e é extremamente poderosa.

A linguagem awk permite a manipulação de textos a partir de uma sequência de padrões. É uma linguagem interpretada (não há necessidade de compilação).

Vamos a um exemplo básico da utilização da linguagem awk, pois o assunto é extenso e não caberia neste curso básico.

No terminal, vamos a um exemplo para imprimir o arquivo de senhas (/etc/passwd)

Este arquivo possui dados dos usuários delimitado por : (dois pontos), então uso o comando:

awk ‘{ print $0 }’ /etc/passwd

Este comando tem o mesmo resultado de:

cat /etc/passwd

Como o arquivo passwd é delimitado por : (dois pontos) e com isso é possível começar a extrair dados deste arquivo de forma individual.

Então vamos começar a usar um pouco mais do potencial da awk:

Vamos Imprimir somente usuários com UID igual a 1.000 ou maior.

awk -F: ‘$3 > 999 {print $0}’ /etc/passwd

Para isso usamos $1 $2 … para indicar o campo, onde $1 faz referencia ao campo 1, $2 campo 2 e assim por diante.

Temos também que informar o delimitador utilizado para separar os campos.

Neste exemplo vamos pegar somente os dados do campo 1 do arquivo de usuários passwd.

awk -F “:” ‘{print $1}’ /etc/passwd

Agora um exemplo usando pipe

cat /etc/passwd | awk -F “:” ‘{print $1}’

E para finalizar vamos a um exemplo somente com os campos 1 e 3 (Usuário e UID)

cat /etc/passwd | awk -F “:” ‘{print $1,$3}’

Para saber mais sobre a linguagem awk e as sintaxes, basta executar:

man awk

Conclusão : Utilização Fluxos Padrão Linux + Redirecionamentos e Pipes + Filtros


Aprender a utilizar os recursos de redirecionamento, pipes e filtros inclusos na linha de comando do Linux pode ser um pouco complicado e assustador, mas você está no caminho certo para dominar estes conceitos e habilidades depois deste conteúdo visto aqui no webmundi.com. 

Nestas ultimas aulas deste módulo, você viu o básico sobre como funcionam os fluxos de dados Linux, redirecionamentos, pipes e filtros.

Assim, você poderá iniciar sua incursão no mundo do shell script, que faz uso frequente dos programas e fluxos padrão Linux mostrados neste curso.

Se você quiser se aprofundar nos comandos que foram introduzidos neste tutorial, você pode fazê-lo com man comando | less . Por exemplo:

man tee | less
man grep | less
man wc | less
man xargs | less
man awk | less

O conteúdo foi útil ?

Se a esta aula lhe ajudou de alguma forma em seu desenvolvimento profissional, não esqueça de se inscrever no canal ou indicar este vídeo aos seus amigos.

Se você puder e quiser você pode nos apoiar doando qualquer valor através de nosso pix.

Doe qualquer valor pelo PIX e apoie o WebMundi.com
Doe qualquer valor pelo PIX e apoie o WebMundi.com

Chave pix: [email protected]

Essas doações ajudam a manter o canal e nosso site e também na criação de novos conteúdos.

E por falar em criação de conteúdo, em breve, em nossas futuras vídeo aulas aqui do canal, aprenderemos a instalar o Oracle SQL Developer e também a desbloquear o banco de dados de exemplo da Oracle chamado HR.

Por isso não esqueça de se inscrever no canal e ativar as notificações para ser avisado sobre novos vídeos aqui do canal.


Materiais e leituras que recomendamos para você:


Loja WebMundi.com : Informática

+ Ofertas Informática, Computadores e Tecnologia


Obrigado

Esperamos que esta publicação tenha lhe ajudado a aprofundar seus conhecimentos em linux.

Qual é sua experiência em Linux ?

Conte pra nós a sua experiência, adoraríamos saber.

Como entusiasta em desenvolvimento de software, queremos enriquecer sua experiência e conhecimento sobre este produto. 

Se você gostou deste post, compartilhe com seus amigos ou nos acompanhe pelas redes sociais.

Tem alguma dúvida ou observação a fazer ? 

Além disso, você pode nos ajudar a criar mais conteúdos como este. Como ?

Adquira produtos em nossa Loja Virtual, uma parceria do webmundi.com com as maiores plataformas de comércio eletrônico do Brasil.

Lembrando que comprando em nossa loja você apoia a criação de vídeos gratuitos aqui no site e em nosso canal do YouTube.

Prestigie também nossos apoiadores e anunciantes conhecendo seus produtos e serviços.

É simples e rápido e assim você ajuda a gente a crescer. 👍🏼

Obrigado e um grande abraço

Gostou do Post ? Compartilhe com seus amigos nas redes sociais.

Share on facebook
Share on twitter
Share on linkedin
Share on pinterest
Share on tumblr
Share on telegram
Share on whatsapp
Share on skype
Share on email

☑️ Comunidades Colaborativas de Aprendizagem 💬

❓ Esclareça suas dúvidas e ajude outras pessoas a aprender sobre o assunto proposto em nossa comunidade colaborativa no Facebook.

Compartilhe ideias e atividades com outros membros enquanto aprendemos juntos em um ambiente virtual criado e mantido pelo webmundi.com.
Aproveite essa oportunidade gratuita para aprimorar seus conhecimentos e participar de discussões sobre o assunto que você está interessado.

☑️ Grupos WebMundi.com Facebook

✔️ Banco de dados : Dicas
▶️ https://bit.ly/dbbrasil

✔️ Windows Dicas
▶️ https://bit.ly/windowsdicas

✔️ Linux : Dicas, Truques e Tutoriais
▶️ https://bit.ly/linuxdicas

 

✔️ Dev Brasil : Desenvolvimento de Software : Programação (Java, Python, Javascript, Flutter, PHP, Html,CSS e muito mais)
▶️ https://bit.ly/devbrasil

✔️ Virtualização de Computadores : Tecnologia
▶️ https://bit.ly/virtualizabr

APOIE O WEBMUNDI.COM

Apoie o Projeto WebMundi.com doando 1 Real !

Se você é fã do conteúdo gratuito e de qualidade que o WebMundi.com oferece no Site, Youtube e grupos, agora é a hora de demonstrar seu apoio e ajudar a mantê-lo disponível.
Qualquer doação, por menor que seja, será muito valiosa para nós e fará toda a diferença.

Basta utilizar o PIX ou o botão VALEU do Youtube para fazer sua contribuição.
Não perca essa oportunidade de ajudar a manter o WebMundi.com ativo e fornecer ainda mais conteúdo de qualidade para você e para outros.

Faça sua doação agora e seja parte da nossa comunidade de apoio!

Ajude a manter nossa criação de conteúdo e operação em funcionamento

Estrutura WebMundi | Sites e Canal Youtube

Ter presença na Internet implica em custos como:

  • Domínios (www.webmundi.com / www.webmundi.org)
  • Hospedagem (local onde fica a estrutura do site / páginas / banco de dados)
  • Softwares (programas utilizados para montar e manter o site em operação e edição de vídeo)
  • Layout e Desenvolvimento (profissionais que constroem, mantêm e divulgam o site e o canal)
  • Produção de Conteúdo (Profissionais como Redatores, Produtores, Editores de vídeo, etc…)
  • Certificados de Segurança (cadeado / segurança da página, possibilita a segurança na navegação e seus dados)
  • Manutenção do Site (atualizações do site, criação de novas páginas)

Loja Virtual | WebMundi.com

Outra forma de apoiar a criação de conteúdo no YouTube e em nossos sites é nossa loja virtual

Parceria do WebMundi.com com as maiores plataformas de comércio eletrônico do Brasil.

Nossa loja é integrada com nossos parceiros associados e possui uma ampla variedade de produtos de marcas renomadas.
O Cliente ao escolher um produto é direcionado a loja parceira onde pode fazer sua compra com tranquilidade em um ambiente seguro e 100% confiável.

Confira:

Loja Virtual WebMundi.com

Alguns de nossos parceiros associados:

AliExpress Parceiro Magalu Amazon Associados

Obrigado pela confiança e preferência.

TALVEZ VOCÊ GOSTE TAMBÉM

Mais Assistidos
Como BAIXAR a ISO do WINDOWS 10 OFICIAL e Criar um Pendrive Bootável
Play Video about Como BAIXAR a ISO do WINDOWS 10 OFICIAL e Criar um Pendrive Bootável
Como instalar o Oracle Virtualbox e Criar Máquinas Virtuais (VMs)
Play Video about Como instalar o Oracle Virtualbox e Criar Máquinas Virtuais (VMs)
atualizar windows 7 para windows 10 2020
Play Video about atualizar windows 7 para windows 10 2020
Instalar o Servidor XAMPP no Linux - Localhost Apache MySQL PHP
Play Video about Instalar o Servidor XAMPP no Linux - Localhost Apache MySQL PHP
Como BAIXAR a ISO do WINDOWS 11 OFICIAL e Criar um Pendrive Bootável
Play Video about Como BAIXAR a ISO do WINDOWS 11 OFICIAL e Criar um Pendrive Bootável
Como Transferir o Windows do HD para um SSD : Migrar Windows 10 para SSD sem formatar
Play Video about Como Transferir o Windows do HD para um SSD : Migrar Windows 10 para SSD sem formatar
Como Instalar MySQL + MySQL Workbench : Windows 10
Play Video about Como Instalar MySQL + MySQL Workbench : Windows 10
Instalação Eclipse IDE - Windows
Play Video about Instalação Eclipse IDE - Windows

Discord : WebMundi.com

Uma comunidade apaixonada por tecnologia, onde entusiastas, estudantes e profissionais de TI se reúnem.

Faça Parte do nossa Comunidade!

Junte-se a nós para aprender, colaborar e expandir seus horizontes na área de informática! 🚀
Entrar
Recentes