[Ubuntu-BR] apagar caracteres de um arquivo txt
Daniel Bastos
dbastos+0 em toledo.com
Quarta Setembro 30 21:39:00 UTC 2009
In article <4AC24BC9.5050202 em ceb.unicamp.br>,
Allan Carvalho wrote:
> $ cat ip.txt | sed -e /Claudia/,/\^\$/d > ip.txt
>
> Explicando, ele vai apagar desde a linha que contém Cláudia até a
> próxima linha em branco...
E (com alguma sorte) destruir o arquivo.
Sob o comportamento do sh, com relação ao operador ``> arquivo'',
``[i]f the file does not exist, it shall be created; otherwise, it
shall be truncated to be an empty file after being opened.'' -- POSIX.
O mais seguro a fazer é
... ip.txt > ip.tmp && mv ip.tmp ip.txt
Isso evita o problema, e faz a substituição atomicamente. (A opção -i
do sed não parece portável.)
More information about the ubuntu-br
mailing list