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

Re: [OFF-TOPIC] bash script



On Wed, 03 Apr 2002 15:58:22 -0300
irado furioso com tudo <irado@subdimension.com> wrote:

> talvez não seja o forum próprio, mas francamente *não* sei nadinha de 
> programação e preciso de um scriptzinho pra extração de strings. A situação:
> 
> dado um arquivo com linhas de comprimentos variáveis, e com sub-string 
> com posicionamento aleatório:
> 
> aaaaaaaaaaaaaaa[string]bbbbbbbbbbbbbbbbbbbbbb
> aaa[string]bbbbbbbbbbbb
> aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa[string]bbbbbbbbbbbbbbbbbb
> [..continua..]
> 
> como fazer para coletar a [string] e coloca-la em outro arquivo? o 
> delimitador existe, e é o próprio par de colchetes '[]'.
> 
> P.S:Tentei o cut -d[, mas apanhei tanto que perdi até o rumo.

Serve em Perl?

Fiz um pequeno script em perl, que via regex parseia o texto da forma
que voce quer! Observe que eu vou jogando, via push, a string contida
entre colchetes em um array, chamado @strings.

Nao sei para que voce quer isso, por isso eu printei cada item do array
em uma linha.

stratus@secure:~/tmp$ cat heh.txt
aaaaaaaaaaaaaaa[gustavo]bbbbbbbbbbbbbbbbbbbbbb
aaa[ramos]bbbbbbbbbbbb
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa[franco]bbbbbbbbbbbbbbbbbb
stratus@secure:~/tmp$ cat heh.pl
#!/usr/bin/perl -w

open(HEH,"heh.txt") or die "Can't open file: $!";

while(<HEH>) {
        $_ =~ /.*\[(.+)\].*/;
        push(@strings,$1);
}

foreach $string (@strings) {
        print "$string\n";
}

stratus@secure:~/tmp$ perl heh.pl 
gustavo
ramos
franco

Espero ter ajudado,
--
                      _                                                   
 _     __|_ _.   _  _|_.__.._  _ _ 
(_||_|_> |_(_|\/(_)  | |(_|| |(_(_)                stratus@ax.net.br
 _|nupg id: 0x37155778                              gustavo@dsgx.org

   Alternex S/A - www.alternex.com.br --  Rio de Janeiro/Brazil

 gnupg id: 0x37155778 (fetch from keyserver: wwwkeys.eu.pgp.net)
Key fingerprint = 1908 52B9 4A16 6EC2 74D1  C03B EDFB 7005 3715 5778

Attachment: pgpZNwIXT8itY.pgp
Description: PGP signature


Reply to: