Oi Flavio, funcionou! valeu pela dica, sed é demais.
2008/2/20 Flavio Junior <[EMAIL PROTECTED]>: > Realmente Angelo.. > > O que voce disse é verdade, essa porcaria sempre remove a ultima linha.. > :) > > Eu resolvi assim: > > $ sed '${/^$/d}' txt > > Fazendo um bloco... > testa ai > > -- > > Flávio do Carmo Junior > > 2008/2/20 Angelo Fausti Neto <[EMAIL PROTECTED]<angelofausti%40gmail.com> > >: > > > > Oi Flavio, > > > > sim, eu entendi a proposta, mas quando tento usar > > > > sed -i '$,/^$/d' txt > > > > ele remove a ultima linha, seja ela uma linha em branco ou nao. > > > > por favor, faça o seguinte teste e veja se reproduz o que estou dizendo. > > > > >cat txt > > a > > b > > b > > b > > > > c > > c > > > > d > > d > > > sed -i '$,/^$/d' txt > > > cat txt > > a > > b > > b > > b > > > > c > > c > > > > d > > > > > > > Abraço. > > > > 2008/2/20 Flavio Junior <[EMAIL PROTECTED] > > <billpp%40gmail.com><billpp%40gmail.com>>: > > > > > > Oi Angelo.. > > > > > > Eu realmente mandei remover somente a ULTIMA linha, caso ela fosse em > > > branco.. > > > > > > Eu tava só "resumindo" a resposta do nosso amigo da lista.. > > > Qdo ele disse: > > > > > > > > > > > > Primeiro tens que testar se a ultima linha esta em branco, podes > > > usar > > > > > > > > > > > > tail -1 txt | grep '^$' > > > > > > > > > > > > e depois disso deletar a ultima linha > > > > > > > > > > > > sed '$d' txt > > > > > > > > > > > > o comando completo fica > > > > > > > > > > > > tail -1 txt | grep '^$' && sed '$d' txt > > > > > > Eu disse: > > > > > > > > Da pra por tudo no sed > > > > > > > > > > $ sed -i '$,/^$/d' txt > > > > > > Ou seja, esse sed foi realmente só para remover a ultima linha... > > > E o que ta fazendo isso é aquele primeiro $ ali.. Que pro sed diz > > "ultima > > > linha" > > > > > > Ou seja: > > > $ -> vai pra ultima linha > > > , -> proxima instrução > > > /^$/ -> Localiza uma linha vazia (^ = inicio de linha BOL, $ = termino > > de > > > linha EOL) > > > d -> apaga a linha toda se encontrar > > > > > > Espero ter sido claro > > > > > > -- > > > > > > Flávio do Carmo Junior > > > > > > 2008/2/20 Leonardo Neves <[EMAIL PROTECTED]<leonardo.neves%40gmail.com> > <leonardo.neves%40gmail.com> > > <leonardo.neves%40gmail.com> > > > >: > > > > > > > Angelo, > > > > > > > > tente isso: > > > > > > > > egrep -v "^$" txt > > > > > > > > Atenciosamente, > > > > -- > > > > Leonardo Neves Bernardo > > > > Analista de Suporte Unix/Linux > > > > LPIC-III Mixed Environment - www.lpi.org > > > > > > > > Em 20/02/08, Angelo Fausti Neto <[EMAIL > > > > PROTECTED]<angelofausti%40gmail.com> > <angelofausti%40gmail.com> > > <angelofausti%40gmail.com> > > > <angelofausti%40gmail.com>> > > > > > > > escreveu: > > > > > > > > > > > > > > Oi Flavio, > > > > > > > > > > beleza? > > > > > > > > > > testei essa solução mas nao funcionou, ela sempre remove a ultima > > > > linha... > > > > > por algum motivo nao esta avaliando a expressao regular. > > > > > > > > > > abraços, > > > > > > > > > > Angelo. > > > > > >cat txt > > > > > a > > > > > b > > > > > b > > > > > b > > > > > > > > > > c > > > > > c > > > > > > > > > > d > > > > > d > > > > > > sed -i '$,/^$/d' txt > > > > > > cat txt > > > > > a > > > > > b > > > > > b > > > > > b > > > > > > > > > > c > > > > > c > > > > > > > > > > d > > > > > > > > > > > > > > > > 2008/2/20 Flavio Junior <[EMAIL PROTECTED] > > > > > <billpp%40gmail.com><billpp%40gmail.com><billpp%40gmail.com><billpp%40gmail.com><billpp%40gmail.com>>: > > > > > > > > > > > Da pra por tudo no sed > > > > > > > > > > > > $ sed -i '$,/^$/d' txt > > > > > > > > > > > > -- > > > > > > > > > > > > Flavio do Carmo Junior > > > > > > > > > > > > 2008/2/20 Angelo Fausti Neto <[EMAIL > > > > > > PROTECTED]<angelofausti%40gmail.com> > <angelofausti%40gmail.com> > > <angelofausti%40gmail.com> > > > <angelofausti%40gmail.com> > > > > <angelofausti%40gmail.com> > > > > > <angelofausti%40gmail.com> > > > > > > >: > > > > > > > > > > > > > > > > > > > Voltando a pergunta do nosso colega: > > > > > > > > > > > > > > Primeiro tens que testar se a ultima linha esta em branco, > podes > > > > usar > > > > > > > > > > > > > > tail -1 txt | grep '^$' > > > > > > > > > > > > > > e depois disso deletar a ultima linha > > > > > > > > > > > > > > sed '$d' txt > > > > > > > > > > > > > > o comando completo fica > > > > > > > > > > > > > > tail -1 txt | grep '^$' && sed '$d' txt > > > > > > > > > > > > > > []'s > > > > > > > Angelo. > > > > > > > > > > > > > > 2008/2/19 linko_k <[EMAIL > > > > > > > PROTECTED]<linko_k%40yahoo.com.br><linko_k%40yahoo.com.br><linko_k%40yahoo.com.br><linko_k%40yahoo.com.br><linko_k%40yahoo.com.br><linko_k%40yahoo.com.br><linko_k%40yahoo.com.br>>: > > > > > > > > > > > > > > > Boa Noite, > > > > > > > > Como faço para delatar a ultima linha de um arquivo caso a > > mesma > > > > > > > > estiver em branco ? > > > > > > > > > > > > > > > > no aguardo > > > > > > > > Obrigado > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > -- Angelo Fausti > > > > > > > > > > > > > > [As partes desta mensagem que não continham texto foram > > removidas] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [As partes desta mensagem que não continham texto foram > removidas] > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > -- Angelo Fausti > > > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > > > > > > > > > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > > > > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > > > > > > -- > > -- Angelo Fausti > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > -- -- Angelo Fausti [As partes desta mensagem que não continham texto foram removidas]