shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Re: Escrever o resultado de um comando no final de ca


From: Julio C. Neves
Subject: Re: [shell-script] Re: Escrever o resultado de um comando no final de cada linha de um arquivo
Date: Fri, 10 Oct 2014 11:23:28 -0300

Ué! Essa me surpreendeu! O meu script carrega o código do paste, do bc, usa o conceito de substituição de processos e, de quebra, o pipe faz um fork. O teu só carrega o código do awk...

Epa! Acho que acabei de entender o porquê! O cmd system do C chama um shell para interpretar um cmd. Como o k do awk é de Brian Kernighan que trabalhou na Bell Labs junto com Ken Thompson e Dennis Ritchie (cansei de chamar esses 2 para palestrarem na LatinoWare e não consegui. Com a morte do Dennis, desisti) e foi quem escreveu o 1º livro de C (no qual estudei muito) junto com o Dennis. Nunca li o código do awk, mas creio que, devido ao que expliquei, o cmd system das duas linguagens se comportem da mesma forma (devem inclusive ter o mesmo código) e por isso a sua linha de awk ficou pesada (o que não é uma caracteristica do awk, muito pelo contrário).

Em virtude disso, evito usar system em C, priorizando o uso da família popen e pclose, que tb chamam o shell, porém com a opção -c, tornando-o um pouco mais veloz.

Durante a LatinoWare, que será na próxima semana em Foz do Iguaçu, lecionarei uma oficina de Expressões Regulares (entrada grátis). Quem for da lista e estiver no evento, por favor, se apresente. Se não tiver vaga no lab (o que é provável), e quiser fazer o treinamento, fale comigo que damos um jeito.

Abcs,
Julio
@juliobash
Próximos cursos de Shell
Cidade         Local Período
Rio de Janeiro EDX 10 a 14/11
São Paulo 4Linux 24 a 28/11
Dou treinamento de Shell em qualquer cidade.
Para mais detalhes, me mande um e-mail.


2014-10-10 10:50 GMT-03:00 address@hidden [shell-script] <address@hidden>:
 

Grande mestre Júlio


Mas desta vez está enganado o seu método é bem mais rápido sempre:

O que fiz retornou com o time:
real    0m0.094s
user    0m0.023s
sys     0m0.056s

E o seu:
real    0m0.032s
user    0m0.000s
sys     0m0.007s

[]'s
Itamar



reply via email to

[Prev in Thread] Current Thread [Next in Thread]