我有一个脚本,将大小为 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
- 读取文件,更改内容,写入临时文件。完成后,用临时文件替换原始文件。