10GBのデータを含むファイルがあり、sed -i 's/pattern/replace_pattern/g'
そのファイルに対して2048の代替式を実行しようとしています。
これをより迅速かつ効率的に実行する方法はありますか?
現在は順次起動またはsed
起動しています。perl
sed -i "s/VSS:F31128015/VSS_F31128015/g" file.data
sed -i "s/VSS:F31127969/VSS_F31127969/g" file.data
OR
perl -pi -e 's/VSS\:F31128015/VSS_F31128015/g' file.data
perl -pi -e 's/VSS\:F31127969/VSS_F31127969/g' file.data
実行速度に若干の違いがあることがわかりましたperl
。それともsed
もっと良い方法がありますか?ほぼ2048の代替式があります。
Tcl/tk
を使用して10GBファイルを見て開くのがregexp
良い考えですか?
私は使うべきですか?法律?
ベストアンサー1
うまくいくべきこと(テストされていない)
より一般的な正規表現の使用
sed -i -e 's/(VSS):(F[0-9]+)/\1_\2/g' file.data
複数の式を使用しますが、1つのsed
呼び出しを使用してください。
sed -i -e "s/VSS:F31128015/VSS_F31128015/g" -e "s/VSS:F31127969/VSS_F31127969/g" file.data