você está aqui: Home  → Arquivo de Mensagens Programação Shell Linux: Inscrições Abertas

Maneiras diferentes de fazer a mesma coisa

Colaboração: Rubens Queiroz de Almeida

Data de Publicação: 14 de maio de 2013

No Linux existem maneiras diferentes de se fazer a mesma coisa e também vícios de programação que nos levam a realizar tarefas de maneira nem sempre muito eficiente.

Seguem alguns exemplos. O tempo de execução de cada um deles é medido com o comando time.

Criar um arquivo vazio

Criação de um arquivo vazio

% time touch arquivo1.txt
real    0m0.002s
user    0m0.000s
sys     0m0.000s
> arquivo2.txt
real    0m0.000s
user    0m0.000s
sys     0m0.000s

Busca de texto em arquivos

$ time cat /etc/passwd | grep queiroz
queiroz:x:1000:1000:Rubens Queiroz de Almeida,,,:/home/queiroz:/bin/bash

real    0m0.003s
user    0m0.000s
sys     0m0.000s
% time grep queiroz /etc/passwd
queiroz:x:1000:1000:Rubens Queiroz de Almeida,,,:/home/queiroz:/bin/bash

real    0m0.002s
user    0m0.000s
sys     0m0.000s

Isto é bastante comum. O comando cat é totalmente desnecessário para esta finalidade.

Zerar o conteúdo de um arquivo

$ time cp /dev/null A.txt

real    0m0.008s
user    0m0.004s
sys     0m0.004s
$ time > A.txt

real    0m0.007s
user    0m0.004s
sys     0m0.004s

O arquivo A.txt usado nos exemplos acima tinha o tamanho de 21 MB.

Como se pode ver, os exemplos acima ilustram maneiras de se fazer uma mesma tarefa, algumas delas consideradas mais eficientes (e inteligentes) do que as outras, mas em termos práticos, o ganho é de apenas alguns milésimos de segundos. É claro que sempre devemos buscar a maneira mais eficiente de se realizar uma tarefa, mas em termos práticos, os computadores mais poderosos dos dias atuais até permitem uma certa incompetência :-)



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