0

次のようなリンクを持つHtmlファイルmy.htmlがあります。

<a href="1.html">1.html</a>

新しいHtmlファイルがフォルダに追加されるたびにmy.htmlが新しい行を追加するバッチスクリプト(Windows、BATファイル用)を作成するにはどうすればよいですか?たとえば、test.htmlを追加した

 <a href="test.html">test.html</a><br/>
4

1 に答える 1

0

Sed1はそのようなものに最適です。できるよ:

sed "s#\(<a href=.*>.*</a>\)#\1</br>#g" my.html > my_out.html


簡単な説明:
Sedコマンドは次のようになります。s#search_string#replace string#g

  1. sSedに検索して置き換えるように指示します
  2. これ#は、Sedコマンドの区切り文字です(任意の文字を使用できます)。
  3. 検索文字列のパターンは正規表現 "<a href=.*>.*</a>"です (つまり、で始まり、その後に<a href=続き>、で終わる文字列</a>)。
    パターンは、エスケープされた括弧で囲まれています 。これにより、Sedはこのパターンを。として計算する文字列の出現を記憶できます。\(pattern\)\1
  4. 置換文字列はです\1<br/>つまり、検索文字列はそれ自体で置換<br/>され、最後に追加されます。
  5. g、ファイル内の検索文字列のすべての出現に対してそれを繰り返すようにSedに指示します。

お役に立てば幸いです。


1 SedはWindowsにも移植されています(ここを参照)。

于 2012-08-14T17:25:07.507 に答える