Busca

Visite também: UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  NoticiasLinux ·  BR-Linux ·  SoftwareLivre.org ·  [mais]   
 



 

Aprenda inglês em casa

Baixe gratuitamente as duas primeiras aulas

English for Reading and Listening

Receba por email, diariamente, mensagens contendo materiais para leitura e audição, incluindo arquivos no formato MP3 gravados por falantes nativos.

Saiba mais e faça sua inscrição

você está aqui: Home  → Colunistas  →  Cantinho do Shell

 

Pipes em bash

Por Rodrigo Bernardo Pimentel

Data de Publicação: 06 de Agosto de 2007

As ferramentas de Unix surgiram com o conceito de "seja simples, faça bem o que tem a fazer, saiba conversar com outras aplicações". Bem, parte dessa última premissa é realizada com o uso de "pipes". "pipes" (utilizados com o caracter '|') conectam a saída de uma programa à entrada de outro. Ou seja, funcionam como um "tubo" ou "cano" mesmo.

Por exemplo: o comando cat joga na saída padrão o conteúdo de um arquivo. O comando cut mostra só uma parte especificada do texto que lhe é passado como entrada padrão. Assim, para conseguirmos uma lista de usuários do sistema, podemos fazer

  [rbp@muppets ~]$ cat /etc/passwd | cut -d : -f 1

O comando cat /etc/passwd jogaria na tela todas as linhas do arquivo /etc/passwd.

O comando cut -d : -f 1 divide cada linha da entrada utilizando o : (dois pontos) como separador e pega o primeiro campo (com -d : e -f 1 respectivamente). Assim, em uma linha do /etc/passwd normal, os campos seriam

  rbp:x:500:500:Rodrigo B. Pimentel:/home/rbp:/bin/bash
   1  2  3   4              5            6         7

Ou seja, o primeiro campo é o login.

Assim, o pipe usa a saída do primeiro comando para fornecer uma entrada para o segundo, e o resultado é o campo de login de cada linha do /etc/passwd.

Outro exemplo, envolvendo mais pipes (ou seja, você pode usar mais de um pipe de uma vez):

  [rbp@muppets ~]$ w | grep '^rbp ' | wc -l
  7
  [rbp@muppets ~]$

O comando w lista os usuários conectados na máquina. O comando grep '^rbp ' pega essa lista e mostra só as que começem com rbp (para não pegarmos substrings como 'rbpsdgf'). Finalmente, o comando wc -l conta essas linhas. Assim, sei que, no momento, o usuário rbp tem 7 shells abertos na máquina (dia fraco... ;) .

Esta dica foi publicada originalmente na Dicas-L em 6 de setembro de 2000
Versão para impressão
  • Currently 3.17/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 3.2 /5 (178 votos)

Artigos Publicados


Linux Shell Script em Newsgroup

Servidor: news.gmane.org

Grupo: gmane.org.user-groups.programming.shell.brazil


Para se manter atualizado sobre as novidades desta coluna, consulte sempre o newsfeed RSS

Cantinho do Shell NewsFeed RSS

Para saber mais sobre RSS, leia o artigo O Padrão RSS - A luz no fim do túnel.


Opinião dos Leitores

*Nome:
Email:
Me notifique sobre novos comentários nessa pagina
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script

Recomende este site
Recomendar este artigo