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

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

Re: [shell-script] mais uma vez o nome de arquivos...


From: Henrique Limaverde Cabral de Lima
Subject: Re: [shell-script] mais uma vez o nome de arquivos...
Date: Thu, 9 Nov 2000 18:10:46 -0200 (EDT)

   Obrigado pelas respostas. To^ vendo que eu tenho que parar qualquer dia
desses pra ler o man bash de novo (e com mais calma). 

> mas, se for exatamente esse exemplo que você quiser fazer, pode usar:
> 
> for i in *gz; do
>     zcat $i | grep algumacoisa
> done
> 
> assim não precisa descompactar e compactar de novo...

   Sim Eliphas, voce tem razao. Nesse caso eu soh queria fazer isso e nao
precisava compactar tudo de novo, mas eu jah tive necessidade de usar o
arquivo mais de uma vez, em qual caso a ideia do ${i%.gz} seria (e serah)
util.

            Henrique Lima
---------------------------------------------------------------------





From (no email address) Fri Nov 10 09:39:15 2000
Return-Path: <address@hidden>
X-Sender: address@hidden
X-Apparently-To: address@hidden
Received: (EGP: mail-6_2_1); 10 Nov 2000 17:39:15 -0000
Received: (qmail 16763 invoked from network); 10 Nov 2000 17:39:13 -0000
Received: from unknown (10.1.10.27) by m3.onelist.org with QMQP; 10 Nov 2000 
17:39:13 -0000
Received: from unknown (HELO burns.conectiva) (200.250.58.146) by mta2 with 
SMTP; 10 Nov 2000 17:39:11 -0000
Received: (qmail 1351 invoked from network); 10 Nov 2000 17:39:03 -0000
Received: from verde.distro.conectiva (10.0.17.77) by burns.conectiva with 
SMTP; 10 Nov 2000 17:39:03 -0000
Date: Fri, 10 Nov 2000 15:42:08 -0200 (EST)
X-Sender: aurelio@verde.distro.conectiva
To: address@hidden
Subject: Re: [shell-script] Trabalhando com datas
In-Reply-To: <4B813DAFDA55F14EA92BFABB590081A88172CE@wtrjo081>
Message-ID: <Pine.LNX.4.21.0011101530350.926-100000@verde.distro.conectiva>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=iso-8859-1
Content-Transfer-Encoding: 8BIT
From: # aurelio marinho jargas <address@hidden>

@ 8/11, Julio Cezar Neves - DISB.O:
> se eu já coloquei estas rotinas no grupo me desculpem, mas como eu acho que
> não, e penso serem bastante útil para os programas que trabalha com datas,
> seja para calcular qtos dias tem entre 2 datas, ou para somar ou subtrair
> dias de uma data.
> 
> O 1o. programa - dton.sh - converte data (mm/dd/aaaa) para o número de dias
> decorridos de 01/01/1980 até esta data. O 2o. - ntod.sh - faz o oposto, isto
> é, soma um número recebido com 01/01/1980, transformando o resultado em
> data.

oi julio,

pelo menos a primeira tarefa, de converter data para um inteiro,
o GNU date já tem:

------------------------
%s     segundos desde 1970-01-01 00:00:00 UTC (uma extensão não padrão);
------------------------

prompt$ date '+%s'
973878017


ainda não vi os seus programas, mas lembro que um dia após fazer
até uma bibliotecazinha de tratamento de datas em bash para fazer
estas conversões, o eliphas foi ler o man date &:)


-- 
s·:(·>(·×^a]×http://www.verde666.org×^[:wq


From (no email address) Fri Nov 10 15:26:03 2000
Return-Path: <address@hidden>
X-Sender: address@hidden
X-Apparently-To: address@hidden
Received: (EGP: mail-6_2_1); 10 Nov 2000 23:26:03 -0000
Received: (qmail 79915 invoked from network); 10 Nov 2000 23:26:03 -0000
Received: from unknown (10.1.10.26) by l7.egroups.com with QMQP; 10 Nov 2000 
23:26:03 -0000
Received: from unknown (HELO burns.conectiva) (200.250.58.146) by mta1 with 
SMTP; 10 Nov 2000 23:26:01 -0000
Received: (qmail 9461 invoked from network); 10 Nov 2000 23:25:59 -0000
Received: from verde.distro.conectiva (10.0.17.77) by burns.conectiva with 
SMTP; 10 Nov 2000 23:25:59 -0000
Date: Fri, 10 Nov 2000 21:29:03 -0200 (EST)
X-Sender: aurelio@verde.distro.conectiva
To: address@hidden
Subject: Re: [shell-script] renomear arquivos
In-Reply-To: <Pine.GSO.4.05.10011070804300.3768-100000@miami>
Message-ID: <Pine.LNX.4.21.0011102119540.926-100000@verde.distro.conectiva>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=iso-8859-1
Content-Transfer-Encoding: 8BIT
From: # aurelio marinho jargas <address@hidden>

oi henrique,

@ 7/11, Henrique Limaverde Cabral de Lima:
> > o awk foi BEM mais rápido, embora aqui o resultado não tenha sido o
> > esperado e como não manjo de awk, não pude arrumá-lo.
> > 
> > o sed ficou em segundo, mesmo disparando 3 processos por |
> > 
> > a solução somente bash demorou mais, mesmo sendo o bash o
> > interpretador de comandos utilizado... interessante.
> > 
> > um for com 2 sub-shells demora mais que 3 chamadas de sistema ao sed,
> > por essa eu não esperava &:)
> 
>    Ei, turma, acho que eu sei explicar os resultados. E, estah pouco
> relacionado aa eficiencia de cada aplicativo (bash, sed, awk) e sim aos
> seus tamanhos. No meu sistema:
> 
> 461400 Feb 20  2000 /bin/bash
>  44048 Jan 22  2000 /bin/sed
>  95056 Jan  9  2000 /usr/bin/mawk
> 
>    Conclusao:
> a) Solucao awk: segue dois links, carrega um executavel de 95K e executa o
>                 script
> b) Solucao sed: carrega um executavel de 44K tres vezes executando o
>                 devido script
> c) Solucao bash: para cada iteracao do for, carrega dois bash's cada um
>                  de 400K e depois executa o devido script
> 
>    Lembrem-se que, apesar de ser uma tarefa constantemente executada,
> nohs nem sempre nos damos conta de que carregar um executavel na memoria
> envolve varios passos e pode se tornar uma tarefa custosa: tem que ler o
> programa no disco (soh isso jah custa muito), alocar memoria, fazer o
> carregamento propriamente dito do programa e soh entao executa-lo. Talvez
> para um texto muito maior, esse custo inicial tenda a influenciar menos no
> desempenho de cada solucao (embora eu acredite que, pelo menos a solucao
> bash nao venha a se tornar mais eficiente).

não manjo muito desses lances, mas acho que você precisa ler o
programa em disco apenas uma vez. no segundo uso dele, ele já
está em memória e o kernel checa se esta versão da memória é
igual a do disco e usa aquele já está carregado. não é assim?
tipo proxy/cache de internet...

a não ser é claro, que já tenha passado um tempo e aquela parte
da memória precisou ser ocupada com outra coisa, mas com a
quantidade absurda de RAM que o pessoal usa nas máquinas, sei
lá...

e o próprio bash (mamute) de 400K, não sei, mas acho que quando
você acessa o sistema o bash é carregado para você ter o prompt e
fica lá em memória, também não precisaria reler em disco...

chutes aleatórios...


>    Apesar disso, todas as tres solucoes resolvem o problema e, a despeito
> da disparidade na eficiencia, os tempos sao tao pequenos que nohs soh
> sentimos a diferenca se puder comparar dados numericos. Eu acredito que
> existem poucos casos no dia-a-dia em que um script sed ou awk leve mais do
> que alguns poucos segundos para tratar um arquivo. Jah fiz scripts que
> demoraram 30, 50 segundos, mas o arquivo de entrada tinha 2, 3, as vezes
> 10MB de tamanho... Aih tem que ter paciencia mesmo :)
>    T+

é isso aí henrique, muito massa tua análise meu.



-- 
s·:(·>(·×^a]×http://www.verde666.org×^[:wq


From (no email address) Fri Nov 10 15:28:48 2000
Return-Path: <address@hidden>
X-Sender: address@hidden
X-Apparently-To: address@hidden
Received: (EGP: mail-6_2_1); 10 Nov 2000 23:28:48 -0000
Received: (qmail 19844 invoked from network); 10 Nov 2000 23:28:47 -0000
Received: from unknown (10.1.10.27) by m4.onelist.org with QMQP; 10 Nov 2000 
23:28:47 -0000
Received: from unknown (HELO burns.conectiva) (200.250.58.146) by mta2 with 
SMTP; 10 Nov 2000 23:28:46 -0000
Received: (qmail 9767 invoked from network); 10 Nov 2000 23:28:44 -0000
Received: from verde.distro.conectiva (10.0.17.77) by burns.conectiva with 
SMTP; 10 Nov 2000 23:28:44 -0000
Date: Fri, 10 Nov 2000 21:31:48 -0200 (EST)
X-Sender: aurelio@verde.distro.conectiva
To: address@hidden
Subject: Re: RES: [shell-script] renomear arquivos
In-Reply-To: <4B813DAFDA55F14EA92BFABB590081A87F236D@wtrjo081>
Message-ID: <Pine.LNX.4.21.0011102130040.926-100000@verde.distro.conectiva>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=iso-8859-1
Content-Transfer-Encoding: 8BIT
From: # aurelio marinho jargas <address@hidden>

@ 7/11, Julio Cezar Neves - DISB.O:
> Mas o sed para mim foi uma surpresa muito grande! Acho que o seu computador
> está viciado em sed, e tem todas as expressões regulares em cache ;-))

olha que pode ser hein? &:)

 
> Conclusão: Vou me dedicar mais às expressões regulares e te mandar um
> material sobre awk em pvt (o naexo I do meu livro), para vc aprender e
> comentar na nossa lista esta linguagem. Se esquecer me cobre!!

então considere isso uma cobrada &:)

bem, já que o assunto é expressões regulares, mais uma vez aviso
que existe a sed-br para discussões desed e ERs aos interessados:
address@hidden

inté.

-- 
s·:(·>(·×^a]×http://www.verde666.org×^[:wq



reply via email to

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