[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] quebra de arquivo ?!
From: |
Tiago Barcellos Peczenyj |
Subject: |
Re: [shell-script] quebra de arquivo ?! |
Date: |
Wed, 31 Aug 2005 11:37:18 -0300 |
deixe-me ver, vc tem um arquivo assim
1000
gfhkgsdfhg
dfgdfsgdfg
fgdfgdfgdfgf
gfsdfg
1000
dfgfkdglçr
454-vr=m v745cv
rtreer9803
1000
gfdklgjsç4t
ercvertre
tertertcv
e vc SABE que o numero eh 1000, nesse caso:
i=0
while read linha
do
[ "$linha" = "1000" ] && i=$((i+1))
echo $linha >> arquivo$i
done < arquivo
dessa forma, na primeira ocorrência de 1000 (ou numero) vc tem i=1
e todas as linhas serão enviadas para arquivo1
ate a segunda ocorrência de 1000, quando i=2..
Pode ficar melhor se vc contar o numero de linhas entre as duas
ocorrencias (ou se ja souber) e enfiar uns head e tail no meio.
Em 31/08/05, Luciano Costa<address@hidden> escreveu:
> Caros scripts's users ...
>
> Bem, tenho uma questão : É possível com shell dividir um arquivo pai em
> vários outros filhos ?!?!
>
> Como assim ?!
>
> Tenho um padrão que se repete num arquivo:
>
> prompt> cat file
> numero
>
> 1 x1 y1 z1
> 2 x2 y2 z2
> 3 x3 y3 z3
> .
> .
> .
> numero
>
> 1 x1 y1 z1
> 2 x2 y2 z2
> 3 x3 y3 z3
> .
> .
> .
> e assim por diante...O arquivo eh bem grande !
>
> Caso seja possível, gostaria de uma dica de expressão regular ou meio de
> dividir o arquivo em N arquivos que irão de numero até a linha que precede
> o numero seguinte.
>
> Valeu pelo avanço pessoal e bom trabalho !!
>
> Luciano Tavares
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
> ---------------------------------------------------------------------
> Esta lista não admite a abordagem de outras liguagens de programação, como
> perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio
> aviso.
> ---------------------------------------------------------------------
> Sair da lista: address@hidden
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em
> http://www.listas-discussao.cjb.net
> ---------------------------------------------------------------------
>
>
>
>
> Yahoo! Grupos, um serviço oferecido por:
>
> PUBLICIDADE
>
> ________________________________
> Links do Yahoo! Grupos
>
>
> Para visitar o site do seu grupo na web, acesse:
> http://br.groups.yahoo.com/group/shell-script/
>
> Para sair deste grupo, envie um e-mail para:
> address@hidden
>
> O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do
> Yahoo!.