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

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

mais uma vez o nome de arquivos...


From: Henrique Limaverde Cabral de Lima
Subject: mais uma vez o nome de arquivos...
Date: Thu, 9 Nov 2000 15:36:03 -0200 (EDT)

Oi galera,
   esse eh um probleminha que eu sempre tenho e que eu acho muito chato de
resolver porque a principio ele eh simples e eu acho que nao compensa
usar sed/awk. Suponha que eu tenha um diretorio cheio de arquivos .gz, O
que eu quero fazer eh o seguinte:

for i in *gz                  # para cada arquivo em questao
do
   gunzip $i                  # descompacte o cidadao
   grep algumacoisa $i-.gz    # procure alguma coisa nele
   gzip $i-.gz                # recompacte o arquivo novamente
done

Certo. Nao vai funcionar porque o nome do arquivo mudou e minha variavel
$i nao adianta mais de muita coisa, a nao ser que eu use sed/awk (ateh
onde eu sei) pra extrair a extensao .gz. Mas eh exatamente isso o que eu
nao quero fazer, chamar um sed/awk para cada arquivo soh por causa de
tres miseros caracteres. Serah que tem algum jeito de manipular uma
variavel soh usando as propriedades do bash? Eu acredito que nao haja uma
maneira de fazer isso num sh ou bash padrao UNIX (quero dizer sem os
incrementos que as versoes dos shells que acompanham o Linux possuem).
   Se alguem tiver uma ideia...

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



From (no email address) Thu Nov 09 09:54:04 2000
Return-Path: <address@hidden>
X-Sender: address@hidden
X-Apparently-To: address@hidden
Received: (EGP: mail-6_2_1); 9 Nov 2000 17:54:04 -0000
Received: (qmail 26310 invoked from network); 9 Nov 2000 17:51:20 -0000
Received: from unknown (10.1.10.142) by m2.onelist.org with QMQP; 9 Nov 2000 
17:51:20 -0000
Received: from unknown (HELO burns.conectiva) (200.250.58.146) by mta3 with 
SMTP; 9 Nov 2000 18:52:23 -0000
Received: (qmail 11517 invoked from network); 9 Nov 2000 17:51:13 -0000
Received: from verde.distro.conectiva (10.0.17.77) by burns.conectiva with 
SMTP; 9 Nov 2000 17:51:13 -0000
Date: Thu, 9 Nov 2000 15:54:16 -0200 (EST)
X-Sender: aurelio@verde.distro.conectiva
To: address@hidden
Subject: Re: [shell-script] mais uma vez o nome de arquivos...
In-Reply-To: <Pine.GSO.4.05.10011091522010.1991-100000@porto>
Message-ID: <Pine.LNX.4.21.0011091552410.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,

@ 9/11, Henrique Limaverde Cabral de Lima:
> Oi galera,
>    esse eh um probleminha que eu sempre tenho e que eu acho muito chato de
> resolver porque a principio ele eh simples e eu acho que nao compensa
> usar sed/awk. Suponha que eu tenha um diretorio cheio de arquivos .gz, O
> que eu quero fazer eh o seguinte:
> 
> for i in *gz                  # para cada arquivo em questao
> do
>    gunzip $i                  # descompacte o cidadao
>    grep algumacoisa $i-.gz    # procure alguma coisa nele


${i%.gz}  -> no $i, a partir do final (%) corte o '.gz'

se quiser a partir do começo, use # ao invés de %
funciona no bash[12]




>    gzip $i-.gz                # recompacte o arquivo novamente
> done
> 
> Certo. Nao vai funcionar porque o nome do arquivo mudou e minha variavel
> $i nao adianta mais de muita coisa, a nao ser que eu use sed/awk (ateh
> onde eu sei) pra extrair a extensao .gz. Mas eh exatamente isso o que eu
> nao quero fazer, chamar um sed/awk para cada arquivo soh por causa de
> tres miseros caracteres. Serah que tem algum jeito de manipular uma
> variavel soh usando as propriedades do bash? Eu acredito que nao haja uma
> maneira de fazer isso num sh ou bash padrao UNIX (quero dizer sem os
> incrementos que as versoes dos shells que acompanham o Linux possuem).
>    Se alguem tiver uma ideia...
> 
>             Henrique Lima
> ---------------------------------------------------------------------
> 
> 
> 
> 
> Inscrição:     address@hidden
> 
> Sair da lista: address@hidden
> 
> Banco Dados:   http://www.egroups.com/group/shell-script
> 

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



reply via email to

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