次のようなリンクを持つ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/>
次のようなリンクを持つ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/>
Sed1はそのようなものに最適です。できるよ:
sed "s#\(<a href=.*>.*</a>\)#\1</br>#g" my.html > my_out.html
簡単な説明:
Sedコマンドは次のようになります。s#search_string#replace string#g
sSedに検索して置き換えるように指示します#は、Sedコマンドの区切り文字です(任意の文字を使用できます)。"<a href=.*>.*</a>"です
(つまり、で始まり、その後に<a href=続き>、で終わる文字列</a>)。\(pattern\)\1\1<br/>。つまり、検索文字列はそれ自体で置換<br/>され、最後に追加されます。g、ファイル内の検索文字列のすべての出現に対してそれを繰り返すようにSedに指示します。お役に立てば幸いです。
1 SedはWindowsにも移植されています(ここを参照)。