より一般的な正規表現の使用

より一般的な正規表現の使用

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

おすすめ記事