On Wed, 03 Apr 2002 15:58:22 -0300 irado furioso com tudo <[EMAIL PROTECTED]> 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.
[EMAIL PROTECTED]:~/tmp$ cat heh.txt
aaaaaaaaaaaaaaa[gustavo]bbbbbbbbbbbbbbbbbbbbbb
aaa[ramos]bbbbbbbbbbbb
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa[franco]bbbbbbbbbbbbbbbbbb
[EMAIL PROTECTED]:~/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";
}
[EMAIL PROTECTED]:~/tmp$ perl heh.pl
gustavo
ramos
franco
Espero ter ajudado,
--
_
_ __|_ _. _ _|_.__.._ _ _
(_||_|_> |_(_|\/(_) | |(_|| |(_(_) [EMAIL PROTECTED]
_|nupg id: 0x37155778 [EMAIL PROTECTED]
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
pgp0TFl0QiGWw.pgp
Description: PGP signature

