-----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 - [email protected]
..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-----