巨大なログファイルで大量の変更を実行する際に問題があります。Notepad ++に問題を引き起こしているファイルサイズを除いて、置換に10個を超えるパラメーターを使用すると問題が発生し、最大9個まで正常に機能します。
これらの値が引用符で囲まれ、前後にコンマがあるファイル内の数値を変更する必要があります。."123,456,789,012.999",
この exp を使用して、フォーマットを見つけて次のように置き換えました:
,123456789012.999,
(num.value 内に引用符やコンマがないように)
検索に使用される exp は次のとおりです。
([,])(["])([0-9]+)([,])([0-9]+)([,])([0-9]+)([,])([0-9]+)([\.])([0-9]+)(["])([,])
置換する exp は次のとおりです。
\1\3\5\7\9\10\11\13
問題は、パラメーター\11
\13
が機能していないことです (例のような文字.999
は、変更された値に表示されません)。
質問は、パラメータに制限はありますか?
10を超えると機能しないように思えます。最大9つのパラメーターのみを使用する必要がある短いnum.valuesの場合、検索と置換の文字列は正常に機能します。上記の例では、検索は機能しますが置換は機能しません。変更された値が壊れます。
また、Notepad++ を使用する代わりに、Unix サーバー上のログファイルを直接変更できるかもしれないと思いましたが、正しい perl 構文を構築するには問題がありました。それを手伝ってくれる人はいますか?