ファイルリスト内のテキストをawkで置き換えたい。このため、これは仕事に適したツールだと思います。
「テキストファイルを操作するとき、いくつかの種類のタスクが繰り返し発生します。特定の行を抽出して残りを破棄することもできます。または、特定のパターンが表示される場所で変更を加え、ファイルの残りの部分はそのままにしておく必要があります。」
http://www.gnu.org/software/gawk/manual/gawk.html
それがまさに私がやりたいことです。
awkはfilelist.txt(これは変更される各ファイルへのパスを含むファイルです)を読み取り、pattern.txt(これはjavascriptを含むファイルであり、filelistに含まれるすべてのhtmファイルからカリングしたいものです)と一致します。 TXT)
filelist.txtを使用する理由は、javascriptを削除したいファイルがいくつかあり、それらが複数の場所にあるためです。
私がpattern.txtを使用したい理由は、javascriptにスペースや特殊文字など、あらゆる種類のものが含まれているためです。
javascript全体をawkにフィードしようとすると、そこに含まれるすべての特殊文字を次々にエスケープする必要があり、非常に時間がかかります。(そしておそらく機能せず、信じられないほど複雑になるでしょう!)
次のように、JavaScriptの先頭と末尾だけを配置しようとすると、次のようになります。
awk '/<\/SCRIPT>/{p=1;print}/<\/script>/{p=0}!p'
目的のインスタンスだけでなく、埋め込まれたjavascriptのすべてのインスタンスを削除するリスクがあります。
私がやろうとしていることはawkで実現可能ですか?
これは、ファイルを提供することで、ファイルのコンテンツ全体をパターンとして解釈し、遭遇した最初のシンボルを窒息させないという私の信念に基づいています。