sed -i は元のテキストをコピーして余分なスペースを占有します。別の方法がありますか?

sed -i は元のテキストをコピーして余分なスペースを占有します。別の方法がありますか?

300GiBサイズのテーブルをにバックアップback.sqlしてから
コピーするスクリプトがありますbak_copy.sql
sed -i 's/original/copy/g bak_copy.sql

今日、私はsed -iストリームの交換中に別のファイルが生成され始め、
ある時点でスクリプトが元のback.sqlストレージサイズを2倍に増やすことがわかりました。

それでは、より良いオプションはありますか?安全で速い
ですか?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- ファイルの読み取り、内容の変更、一時ファイルの書き込み。完了したら、元のファイルを一時ファイルに置き換えます。

おすすめ記事