você está aqui: Home → Arquivo de Mensagens
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