Eu tenho um script que faz backup de uma tabela com o tamanho de 300GiB para back.sql
,
copia para bak_copy.sql
,
então sed -i 's/original/copy/g bak_copy.sql
.
Hoje descobri que sed -i
começa a criar outro arquivo enquanto substitui o stream,
então o script torna o tamanho de armazenamento do original back.sql
em algum ponto trice.
Existe uma opção melhor então?
Será sed 's/original/copy/g' back.sql > bak_copy.sql
igualmente seguro e rápido?
Sim.
sed 's/original/copy/g' back.sql > bak_copy.sql
- lê um arquivo, altera o conteúdo, escreve em um arquivo diferente.sed -i 's/original/copy/g' bak_copy.sql
- lê um arquivo, altera o conteúdo, escreve em um arquivo temporário. Feito isso, substitui o arquivo original pelo temporário.