[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Shell ou Sed?
From: |
Fábio Batista |
Subject: |
Re: [shell-script] Shell ou Sed? |
Date: |
Wed, 11 May 2005 16:40:25 -0300 |
Exatamente!
Com -E. Como estava com preguiça de criar um arquivo no formato que vc
especificou, acabei nem testando.
Com egrep também funciona.
Uma boa prática que quem pede ajuda pode adotar é sempre fornecer um
exemplo "copyandpasteable", principalmente se o arquivo de origem for
uma coisa meio esquisita como esse.
--
Fábio David Batista
address@hidden
http://nerd-o-matic.blogspot.com
On 5/11/05, Miranda <address@hidden> wrote:
> tente com -E
>
> On Wed, 2005-05-11 at 14:56, Emerson Domingues Souto wrote:
> > > ----- Original Message -----
> > > From: "Fábio Batista" <address@hidden>
> > > To: <address@hidden>
> > > Sent: Wednesday, May 11, 2005 10:18 AM
> > > Subject: Re: [shell-script] Shell ou Sed?
> > >
> >
> >
> > /*
> > > Tente algo como:
> > >
> > > grep -e "^.{64}sl" arq.txt > arq_SL.txt
> > > grep -e "^.{64}sb" arq.txt > arq_SB.txt
> > */
> >
> > Tem certeza q a sintaxe é essa ?
> > eu fiz o teste e não funcionou ... o q eu fiz de errado ?
> >
> >
> > > --
> > > Fábio David Batista
> > > address@hidden
> > > http://nerd-o-matic.blogspot.com
> >
> > > On 5/10/05, Lourival <address@hidden> wrote:
> > > > Boa tarde a todos,
> > > > tenho um arquivo tipo arq.txt com vários registros (o arquivo pode ter
> > > > um número arbitrário de registros) de 150 bytes cada registro e preciso
> > > > selecionar registros baseados no conteudo das posições 65 e 66.
> > > > Se nestas posições estiverem presentes a string "sl", enviar este
> > > > registro para outro arquivo, por exemplo, arq_SL.txt; se nas posições
> > 65
> > > > e 66 estiverem presentes a string "sb" enviar este registro para outro
> > > > arquivo, por exemplo arq_SB.txt .
> > > > A forma mais óbvia para mim de se fazer isto é com um "case".
> > > >
> > > > Leio cada linha em uma variável $LINHA e em outra variavel ($ID)
> > coloco:
> > > > ID = echo "grep arq.txt| cut -c65-66"
> > > > com o "case":
> > > > case $ID in
> > > > sl) echo $LINHA >> arq_SL.txt
> > > > sb) echo $LINHA >> arq_SB.txt
> > > >
> > > > e assim por diante!
> > > > A minha dúvida é a seguinte: esta é a forma mais rápida de se fazer
> > isto?
> > > > É possível fazer o mesmo com "sed" ou "awk" de forma mais rápida?
> > > > (Acho que não é OFF-TOPIC pois isto tudo (shell, sed e awk) está junto
> > > > no livro do Julio Cezar :-))) )
> > > >
> > > Desde já agradeço e aguardo qualquer colaboração
> > > Forte abraço a todos
> > > Lourival