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: Angelo Fausti Neto
Subject: Re: [shell-script] Remover Linha em branco
Date: Wed, 20 Feb 2008 16:31:21 -0300

Oi Flavio,

funcionou! valeu pela dica, sed é demais.

2008/2/20 Flavio Junior <address@hidden>:

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



reply via email to

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