você está aqui: Home  → Arquivo de Mensagens

Como não usar cat

Colaboração: Arnaldo Mandel

Data de Publicação: 30 de Outubro de 2001

Existem alguns vícios que parecem ser comuns aos iniciantes de programação em shell. Desses, o mais comum é provavelmente o uso de cat no início de um pipe, com um único arquivo como argumento.

Isso nunca é necessário, já que o efeito é colocar o conteúdo desse arquivo na entrada padrão do próximo ítem do pipe, e isso pode ser feito diretamente. Por exemplo:

  Ruim                           Bom
  ----                           -----
   
  cat arq | sed -e nheconheco    sed -e nheconheco < arq
  cat arq | grep pisqpisq        grep pisqpisq < arq
  cat arq | sort milopções       <arq sort milopções

Note que a redireção pode ficar em qualquer posição. Ops! Ruim X Bom? Mas o "Ruim" funciona!

O que ocorre é que ao chamar cat está se abrindo mais um processo. Isso em geral é irrelevante, mas num script em que muitas linhas do gênero sejam executadas repetidamente, o sistema pode acusar a carga.

Além disso, cuidado com detalhes desse tipo levam à produção de scripts melhores, explorando melhor a capacidade dos vários utílitários usados. Por exemplo, um pouco mais de atenção leva a substituir a coluna "Bom" por:

Melhor

  sed -e nheconheco arq
  grep pisqpisq arq
  sort milopções arq

Mais informações sobre esse vício e outros ( grep ... | awk ...) aparecem na bem humorada página:

Useless Use of Cat Award http://www.ling.helsinki.fi/users/reriksso/unix/award.html



 

 

Veja a relação completa dos artigos de Arnaldo Mandel

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