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]