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 15:55:41 -0300

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>:

>   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>
> >:
>
> > 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>>
>
> > 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>>:
> > >
> > > > 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>
> > > > >:
> > > >
> > > >
> > > > > 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>>:
> > > > >
> > > > > > 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]



reply via email to

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