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

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

Re: [shell-script] Tratamento de texto


From: Tiago Barcellos Peczenyj
Subject: Re: [shell-script] Tratamento de texto
Date: Fri, 16 Feb 2007 08:22:23 -0200

Sérgio, vc executou o script mais de uma vez?

Por que ele sempre vai concatenar no final dos arquivos .1 .2 ...

É estranho que isso aconteça...

On 2/15/07, Sérgio Roberto <address@hidden> wrote:
>
>   Tiago,
>
> Valeu pela dica. Funcionou muito bem a solução que vc me apresentou.
> O único problema foi q o diretório onde os "pedaços" do arquivo foram
> gravados extrapolou o tamanho inicial do arquivo de 190MB para -
> sem zueira - 700MB, quase 270 % à mais que o original. Como essa
> é uma lista de shell script, vou tentar encontrar a solução dessa
> aberração
> na "linux-board".
>
> Valeu a ajuda!
>
> Sds
> Sergio
>
> Tiago Barcellos Peczenyj escreveu:
>
> >
> > Sergio
> >
> > existem muitas formas, uma delas ler o arquivo, redirecionar para um
> > determinado arquivo e, quando chegar nessa linha, mudar o nome do
> > arquivo que vc esta redirecionando.
> >
> > Veja este exemplo:
> >
> > $ cat xxx
> > um
> > dois
> > tres
> > * Quebra de Registro *
> > quatro
> > cinco
> > seis
> > * Quebra de Registro *
> > sete
> > oito
> > nove
> > dez
> >
> > $ awk '/Quebra de Registro/{i++;next}
> > {arquivo=sprintf("%s.%d",FILENAME,i)
> > print arquivo
> > }' xxx
> >
> > xxx.0
> > xxx.0
> > xxx.0
> > xxx.1
> > xxx.1
> > xxx.1
> > xxx.1
> > xxx.2
> > xxx.2
> > xxx.2
> > xxx.2
> > xxx.2
> >
> > o que eu fiz? o nome do arquivo para onde eu vou redirecionar eh o
> > nome do arquivo seguido por um ponto + um numero sequencial.
> >
> > bom, se vc trocar o
> >
> > print arquivo
> >
> > por
> >
> > print $0 >> arquivo
> >
> > vc vai adicionar sempre toda a linha que o awk ler $0 no final do
> > arquivo cujo nome esta definido nessa variavel
> >
> > o uso do next é interessante, experimente remove-lo ;-)
> >
> > On 2/15/07, Sérgio Roberto <address@hidden<sergio%40aduaneiras.com.br>
> > <mailto:sergio% <sergio%25>40aduaneiras.com.br>> wrote:
> > >
> > >
> > >
> > >
> > >
> > >
> > > Bom dia,
> > >
> > > Estou com um problema e gostaria de obter ajuda dos colegas da lista.
> > > Eu recebo mensalmente um arquivo contendo todas as normas de um
> > > determinado tribunal federal, em formato texto. São jurisprudências.
> > > É um arquivo de 190 MB (de texto) que quando é atualizado é remetido
> > > integralmente de novo para mim. Logo, esses 190 MB crescem mês à mês.
> > > Pelas contas há cerca de 500.000 normas dentro deste arquivo.
> > >
> > > Eu desenvolvi um script para quebrar esse arquivo em várias partes
> > > menores, com 2 MBs, para que eu pudesse comparar as alterações
> > > nas normas, usando o comando "split" dentro do Shell Script. Contudo,
> > > observei que é há uma linha em particular dentro desse arquivo:
> > >
> > > " *** Quebra de Registro *** "
> > >
> > > Então, tive a idéia de quebrar esse arquivo de 190 MB não em partes
> > > iguais de 2 MB mas por normas. Ou seja, cada vez que o script
> > > encontrar a linha acima, ele irá gerar um novo arquivo em determinado
> > > diretório. Gostaria de uma ajuda para começar a fazer isso já que
> > > ainda não entendi muito bem como o shell script funcionaria neste
> > > caso.
> > >
> > > Sds
> > > Sérgio
> > >
> > > __________________________________________________________
> > > Essa mensagem é destinada exclusivamente ao seu destinatário e pode
> > > conter informações confidenciais, protegidas por sigilo profissional
> ou
> > > cuja divulgação seja proibida por lei. O uso não autorizado de tais
> > > informações é proibido e está sujeito às penalidades cabíveis.
> > >
> > > This message is intended exclusively for its addressee and may contain
> > > information that is confidential and protected by a professional
> > > privilege or whose disclosure is prohibited by law. Unauthorized use
> of
> > > such information is prohibited and subject to applicable penalties.
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> > >
> >
> > --
> > Tiago B Peczenyj
> > Linux User #405772
> >
> > # cd /pub
> > # more beer
> >
> >
> >
> > __________ NOD32 2061 (20070214) Information __________
> >
> > This message was checked by NOD32 antivirus system.
> > http://www.eset.com
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>



-- 
Tiago B Peczenyj
Linux User #405772

# cd /pub
# more beer


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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