2 つの Web ページがあり、1 つのページは手動で作成され、もう 1 つのページは Visual Studio 2010 (.aspx) で公開されています。これらのファイルの内容を変更して、一連のスクリプト タグを 1 つのスクリプト タグに置き換えたいと考えています。この目標を達成するために、バッチ ファイルからいくつかの Perl コードを実行するだけです。置換前と置換後の Perl コードと HTML は次のとおりです。
バッチでの Perl :
perl -pi.backup -e "s/<!--\s*<pack>\s*-->.*?<!--\s*<\/pack>\s*-->/<script src=\"pack.js\"><\/script>/s" file.aspx
HTML 入力 :
<!-- <pack> -->
<script src="file1.js" type="text/javascript"></script>
<script src="file2.js" type="text/javascript"></script>
<!-- </pack> -->
HTML出力:
<script src="pack.js"></script>
すべての行が 1 つにまとめられない限り、生成されたファイルは更新されませんが、手動で作成されたファイルではすべてが正常に機能します。問題は改行が原因だと思いますが、コードがまったく同じであるため、最初のファイルでのみ機能する理由がわかりません。