我有一个脚本可以将大小为 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
不会同样安全和快速?
我有一个脚本可以将大小为 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
不会同样安全和快速?
是的。
sed 's/original/copy/g' back.sql > bak_copy.sql
- 读取文件、更改内容、写入不同的文件。sed -i 's/original/copy/g' bak_copy.sql
- 读取文件、更改内容、写入临时文件。完成后,将原始文件替换为临时文件。