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

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

Re: [shell-script] Remover Linha em branco


From: Flavio Junior
Subject: Re: [shell-script] Remover Linha em branco
Date: Wed, 20 Feb 2008 16:05:24 -0300

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 <address@hidden>:

>   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 <address@hidden <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 <address@hidden<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 <address@hidden<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 <address@hidden 
> > > > <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 <address@hidden<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 <address@hidden 
> > > > > > <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]



reply via email to

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