você está aqui: Home  → Arquivo de Mensagens

Pipes

Colaboração: Rubens Queiroz de Almeida

Data de Publicação: 11 de Março de 1997

Um dos fatores que marcam a superioridade do Unix é o conceito de pipes. No Unix a filosofia original previa o desenvolvimento de módulos que desempenhassem uma tarefa e a desempenhassem bem.

Vejam só este exemplo:

  cat book*|deroff -w|dd conv=lcase|sort|uniq -c|sort -nr|more

Esta sequência de comandos irá realizar uma tarefa que iria requerer muitas linhas de código e muito planejamento. Vamos analisá-la:

  cat book*		- redireciona para a saída padrão o conteúdo de
  			  arquivos iniciados em book
  deroff -w		- transforma o resultado do comando cat em uma
  			  saída contendo uma palavra por linha
  dd conv=lcase		- converte para letras minúsculas o resultado do
  			  comando deroff
  sort			- ordena alfabeticamente o resultado
  uniq -c			- agrupa palavras iguais registrando o número de
  			  ocorrências
  sort -nr		- realiza uma nova ordenação, porém numérica,    
  			  colocando no topo da lista as palavras que ocorrem
  			  com mais freqüência
  more			- exibe uma tela de cada vez

Este exemplo ilustra de maneira clara como diversos comandos reunidos podem realizar tarefas complexas e em um tempo ínfimo, comparado com o esforço necessário para escrever um programa que desempenhe tarefa similar. Cada um dos comandos acima realiza um processamento sobre os dados que lhe são fornecidos, preparando-os para serem processados pelo próximo comando na seqüência.

Agora, para que serve isto? Por exemplo, um professor de literatura analisando a obra de Shakespeare, poderia querer determinar um padrão no uso de palavras. Outro exemplo, um professor de inglês instrumental poderia querer determinar as palavras mais utilizadas para elaborar as suas aulas de maneira mais eficiente. Poderia até mesmo determinar padrões de uso diferentes para cada área de especialização, como medicina, engenharia, administração, etc, etc. Ainda outro exemplo, um administrador de sistemas pode desejar analisar arquivos de log gerados pelo tcpwrapper, syslog, e outros para identificar padrões de invasão de seus sistemas. As possibilidades são infinitas (e interessantes :-)



Veja a relação completa dos artigos de Rubens Queiroz de Almeida

 

 

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script