4k +のWebページでいくつかのガベージjsコードを削除しようとしています。ウェブページにはページ上に他のjもあるので、clickIEという特定の機能を持つJSを取り除くだけでいいです。perl regex find&replace
私は正規表現を導入するまで、私はこの1つのライナーが動作してい...
perl -p -i -e 's|<script(.*)>.*clickie.*?<\/script>|<\!--REMOVED-JS-CODE-->|gixsm' ./*.html
私の正規表現は、正規表現...意味が失敗した(... http://www.gskinner.com/RegExr/で試験した場合に正しく動作しますが、コマンドラインに失敗します
なぜレイジーマッチングの代わりに欲張りを使用していますか? *具体的には「失敗する」という意味ですか? –
@ MarkByersあなたの提案はそれを強化しました。ありがとう。私がhttp://www.gskinner.com/RegExr/でテストしたときにうまく動作します。私がコマンドラインからそれを実行するとき、それは置換を行いません。 'perl -p -i -e 's | 'に移動します。確かに、あなたが見ているソースのどこでもクッキーで「clickie」を見つけることはほとんどありませんが、一般的ではない可能性があります。 これを安全に修正するには、javascriptパーサーを使用して、ターゲット文字列が関数名として使用されている場合のみを検索することが必要です。これはやや難しい問題です。 –