2016-05-31 14 views
0

非常に大きなファイルに対して-iオプション(ファイルを置き換える)でsedを実行すると、処理されたターゲットファイルについて知る方法はありますか。例: /tmpに中間ファイルを作成するか、メモリ上で処理してスワップされたものなどを返します。誰もsed -iの実装を知っていますか?

+1

'sed -i'はテンポラリファイルを作成し、実行時に元のファイルに移動します。ファイルを本当に修正したい場合は、代わりに 'ed'を試してください –

+3

[ソースを見る](http://git.savannah.gnu.org/cgit/sed.git/tree/sed)、または[strace](https://en.wikipedia.org/wiki/Strace)のようなツールを使って、ツールが何をしているかを正確に確認してください。 – larsks

+0

これはプログラミングとは関係がないため、この質問を議論の対象外としています。 – edmz

答えて

1

straceは、小さなファイルであっても、元のファイルを読み込み、結果を一時ファイルに書き込んだ後、元の名前ファイル。 これは、大容量ファイルの場合と同じ動作であると仮定します。一時ファイルが作成されます。

関連する問題