sed -i 复制原始文本,占用额外空间。还有别的办法吗?

sed -i 复制原始文本,占用额外空间。还有别的办法吗?

我有一个脚本,将大小为 300GiB 的表备份到back.sql
然后将其复制到bak_copy.sql
然后sed -i 's/original/copy/g bak_copy.sql

今天我发现sed -i在替换流的同时开始创建另一个文件,
因此脚本back.sql在某个时刻使原始存储大小变为原来的两倍。

那么还有更好的选择吗?
sed 's/original/copy/g' back.sql > bak_copy.sql同样安全和快速吗?

答案1

是的。

sed 's/original/copy/g' back.sql > bak_copy.sql- 读取文件,更改内容,写入不同的文件。

sed -i 's/original/copy/g' bak_copy.sql- 读取文件,更改内容,写入临时文件。完成后,用临时文件替换原始文件。

相关内容