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

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

Re: [shell-script] Re: Deletar linhas de um arquivo que contenham uma st


From: MrBiTS
Subject: Re: [shell-script] Re: Deletar linhas de um arquivo que contenham uma string?
Date: Wed, 15 Apr 2009 06:49:59 -0300
User-agent: Thunderbird 2.0.0.21 (X11/20090409)

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

> As versões mais atuais do sed vêm com a opção -i, que já faz a modificação no 
> próprio arquivo. Entretanto, ele não faz uma cópia de
> segurança antes e se você errar sua regex, pode perder informação.

Lista

Quero corrigir essa informação. A opção -i do sed faz, sim, cópia de segurança, 
desde que explicitamente indicada pelo usuário, assim:

sed -i.bkp 's/antes/depois/g' arquivo.original

Ele irá criar um arquivo.original.bkp no diretório corrente.

A opção -i por sí mesma irá criar um arquivo temporário para onde as alterações 
serão enviadas. Esse arquivo, depois, será renomeado
 para o seu original. Fazendo um trace na execução do comando

sed -i 's/antes/depois/g' arquivo.original

close(3)                                         = 0
munmap(0xb7c67000, 4096)                         = 0
close(4)                                         = 0
munmap(0xb7c68000, 4096)                         = 0
rename("./sedsvC8oN", "arquivo.original")        = 0

O mesmo trace no primeiro comando nos dá

close(3)                                                  = 0
munmap(0xb7d39000, 4096)                                  = 0
close(4)                                                  = 0
munmap(0xb7d3a000, 4096)                                  = 0
rename("arquivo.original", "arquivo.original.bkp")        = 0
rename("./sedhWcAww", "arquivo.original")                 = 0


Valeu, Júlio, pela correção.


- --

Um abraço

.0. MrBiTs - address@hidden
..0 GnuPG  - 
http://keys.cardboard.net:11371/pks/lookup?op=get&search=0xAC37715A6DD1F186
000 http://www.mrbits.com.br


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEARECAAYFAknlrcYACgkQrDdxWm3R8YbuFwCdHsfZNMI6VyJN6nrWRBpbrnER
sEAAn1BnDxnn9308Tuw6u4A5g+Xg1oDk
=vtuJ
-----END PGP SIGNATURE-----


reply via email to

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