25GBのテキストファイルがありますが、数行の文字列を変更するだけです。正常に使用できますが、sed
実行に時間がかかります。
sed -i 's|old text|new text|g' gigantic_file.sql
これを行うより速い方法がありますか?
ベストアンサー1
あなたは試すことができます:
sed -i '/old text/ s//new text/g' gigantic_file.sql
したがって、引用する:
速度の最適化:実行を高速化する必要がある場合(入力ファイルが大きい場合、またはプロセッサまたはハードディスクが遅い場合)、「s / ... / .find」式が提供される前に「find」式が指定されている場合、置換はより速く行われます。 ../"指示。
10Gファイルの比較です。今後:
$ time sed -i 's/original/ketan/g' wiki10gb
real 5m14.823s
user 1m42.732s
sys 1m51.123s
後ろに:
$ time sed -i '/ketan/ s//original/g' wiki10gb
real 4m33.141s
user 1m20.940s
sys 1m44.451s