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 [email protected], "Tiago Barcellos Peczenyj" <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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 >
