[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Remover a ultima linha do arquivo
From: |
Flavio Junior |
Subject: |
Re: [shell-script] Remover a ultima linha do arquivo |
Date: |
Wed, 9 Apr 2008 14:37:14 -0300 |
A solução que passei anterior resolve o problema do arquivo
temporario, o que não tem como ser resolvido é o fato de abrir
o arquivo na memoria, ah não ser que escreva algo que atue diretamente
nos blocos o que eu nem faço ideia como ficaria, ou se não
corromperia o arquivo...
ACHO que isso resolve..
Ao menos já houve uma thread aqui sobre duplicação de arquivo e essa
foi (se não me engano) a unica forma de não gerar um segundo arquivo,
veja pelo inode:
lazlo:~# ls -i x
1118658 x
lazlo:~# cat x
192.168.5.239
192.168.4.197
192.168.4.169
192.168.4.145
192.168.4.163
192.168.5.246
192.168.5.254
192.168.4.161
192.168.4.194
192.168.5.216
192.168.5.233
lazlo:~# ed x <<<$'$\nd\nwq'
154
192.168.5.233
140
lazlo:~# cat x
192.168.5.239
192.168.4.197
192.168.4.169
192.168.4.145
192.168.4.163
192.168.5.246
192.168.5.254
192.168.4.161
192.168.4.194
192.168.5.216
lazlo:~# ls -i x
1118658 x
lazlo:~#
--
Flavio do Carmo Junior aka waKKu
#bash-br @ irc.freenode.net
2008/4/9 Eduardo Queiroz <address@hidden>:
>
>
>
>
>
>
> O problema da expressão (sed -i '450000d' arquivo.txt) é que ela gera um
> arquivo temporário dentro da partição no momento de sua execução, o que
> acaba sendo a mesma coisa de gerar um arquivo novo.
>
> Será que não tem outra forma?
>
> Em 09/04/08, Roberto Alves <address@hidden> escreveu:
> >
> > Eu acho, IMHO, que mesmo para zerar uma linha o arquivo é aberto, em
> > memoria, mas com esse tamanha faria swap, o que causaria problemas por
> > falta de espaço em disco, a não ser que tenha pra swap.
> > Estou errado?
> > Fiquei em dúvida se consegue remover uma linha desse arquivo gigantesco.
> >
> > Roberto Alves
> >
> > 2008/4/9 Édnei Rodrigues
> <address@hidden<ednei.felipe.rodrigues%40gmail.com>
> > >:
> > > Você fala do que eu fiz?
> > >
> > > Em 09/04/08, André Saunite <address@hidden <saunite%40gmail.com>>
> > escreveu:
> > >
> > > >
> > > > Cara,
> > > >
> > > > Nunca redirecione a saída de um arquivo para o próprio arquivo, o
> > shell
> > > > "zera" o arquivo de saída antes de processar o comando, olha só:
> > > >
> > > > $ *cat a*
> > > > 1
> > > > 2
> > > > 3
> > > > 4
> > > > $ *cat a | sed 's/4d/ /' >
> > > > *$ *cat a*
> > > > $
> > > >
> > > > Você pode usar assim se tiver usando o GNU sed:
> > > >
> > > > $ *sed -i '$d' a*
> > > > $ *cat a*
> > > > 1
> > > > 2
> > > > 3
> > > >
> > > > Abs,
> > > > André Saunite
> > > >
> > > > [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]
>
>
Re: [shell-script] Remover a ultima linha do arquivo, Henrique, 2008/04/09
Re: [shell-script] Remover a ultima linha do arquivo, mxspan-general, 2008/04/13
- Re: [shell-script] Remover a ultima linha do arquivo, Andre Xavier, 2008/04/14
- Re: [shell-script] Remover a ultima linha do arquivo, Tiago Barcellos Peczenyj, 2008/04/14
- Re: [shell-script] Remover a ultima linha do arquivo, Tiago Barcellos Peczenyj, 2008/04/14
- Re: [shell-script] Remover a ultima linha do arquivo, Thiago Campos, 2008/04/14
- Re: [shell-script] Remover a ultima linha do arquivo, Tiago Barcellos Peczenyj, 2008/04/14
- Re: [shell-script] Remover a ultima linha do arquivo, MrBiTS, 2008/04/14
- Re: [shell-script] Remover a ultima linha do arquivo, Vinicius Hanrejszkow, 2008/04/14