[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: ER
From: |
wagnerbrasileirocardoso |
Subject: |
Re: ER |
Date: |
Wed, 06 Dec 2006 18:05:50 -0000 |
User-agent: |
eGroups-EW/0.82 |
Obrigado,
Havia tentado somente com a opção "!p" o que não funcionava pois o
resultado era apenas imprimir uma vez e não o resultado convencional
da opção "p" que é imprimir dobrado na tela. Infelizmente não li até
a opção "-n"
Como falei, com a opção "!d" funcionou pois ele deletou tudo que era
diferente da ER, mas realmente não existe como negar uma conjunto de
listas!?
Como assim inverter a lógica do script? Assim de estalo não me vem
nada à cabeça...
Mais uma vez obrigado pelo esclarecimento, siso me tomou algumas
horas de cuca quebrada, a pesar de resolvido é chato ficar com a
dúvida da "gambiarra"! rs...
Um abraço,
Wagner Brasileiro
--- Em address@hidden, "Tiago Barcellos Peczenyj"
<tiago.peczenyj@...> escreveu
>
> Em sed vc tem estas possibilidades:
>
> # imprime somente as linhas que se encaixam na expressão regular
> # (emula o "grep")
> sed -n '/regexp/p' # método 1
> sed '/regexp/!d' # método 2
>
> # imprime somente as linhas que NÃO se encaixam na regexp (emula
o "grep -v")
> sed -n '/regexp/!p' # método 1, corresponde ao descrito
acima
> sed '/regexp/d' # método 2, sintaxe mais simples
>
> entretanto, se vc quer uma ER que case com tudo MENOS uma dada
> expressão, acho que isso não é suportado pelas ERs normais. Ate por
> que vc pode inverter a lógica do seu programa para isso.
>
> On 12/6/06, Wagner Brasileiro <wagnerbrasileirocardoso@...> wrote:
> >
> >
> >
> >
> >
> >
> > Gerei um arquivo com a listagem de vários subdiretórios onde
tenho arquivos MP3 gravados, depois de ter tirado linhas com
caracteres do tipo: ".", "..""./" e coisas do tipo ainda haviam
linhas como: linhas em branco e outros nomes de diretórios ao qual
não queria que houvessem pois precisarei numerar essas linhas e
somente as que forem referentes a arquivos para que não fique
discrepante a listagem. A seguinte ER abaixo aparentemente funcionou:
sed '/[mM][pP][3]/!d' arq_origem>arq_destino, porém gostaria de saber
como faria para negar a expressão e não o comando de deletar, já
tentei: sed '/(^[mM][pP][3])/!d' arq_origem>arq_destino, sed '/[^mM]
[pP][3]/!d' arq_origem>arq_destino e ainda numa tentativa já meia
desesperada: sed '/[^mM][^pP][^3]/!d' arq_origem>arq_destino e
simplesmente nada acontecia. Gostaria de saber como faço para negar
uma ER inteira, alguém pode me explicar?
> >
> > Obrigado
> >
> >
> > ---------------------------------
> > Yahoo! Search
> > Música para ver e ouvir: You're Beautiful, do James Blunt
> >
> > [As partes desta mensagem que não continham texto foram
removidas]
> >
> >
>
>
>
> --
> Tiago B Peczenyj
> Linux User #405772
>
> # cd /pub
> # more beer
>