-1
複数の(> 200)HTMLファイルにテキストブロックを挿入する必要があります。私はbashを使って割り当てを扱うことに決めました。シンボルを含む変数で1行を置換する最も良い方法
挿入しなければならないのTextBlockはmultilinerです:
textblockvar='
<body class="article toc2 toc-right">
<div id="readspeaker-button1" class="rs_skip rsbtn rs_preserve">
<a rel="nofollow" class="rsbtn_play" accesskey="L" title="Read
out with ReadSpeaker" href="//app-eu.readspeaker.com/cgi-bin
/rsent?customerid=5&lang=nl_nl&voice=Ilse&re$
<span class="rsbtn_left rsimg rspart"><span
class="rsbtn_text"><span>Lees voor</span></span></span>
<span class="rsbtn_right rsimg rsplay rspart"></span>
</a>
</div>
'
textblockvar
がすべて200個の以上のhtmlファイルで一貫しているようだ<body class="article toc2 toc-right">
タグを、置き換えられます。
私は、置換を実行するための様々な技術を試してみました:
FILES=leerstof/*/*.html
for f in $FILES
do
sed -e "s|'<body class="article toc2 toc-right"'|${textblockvar}|g" $f
done
しかし、スクリプトは常に致命的なエラーで終わる:「終端されていない `s'はコマンド」。
引用符を入れずに試してみましたが、それでもエラーは解決しません。
おそらく、私の解決策は最良の選択肢ではありません。利用可能な回避策はありますか?ここ
正規表現でHTMLを解析しないでください! –
この割り当てをbashで行うのか、sedやawkのような外部のスクリプトツールを使っているのでしょうか? (また、[正規表現でHTMLを解析しないでください](http://stackoverflow.com/a/1732454/1072112)、男が言ったように) – ghoti
@ghoti私はこのタスクにbashスクリプトを使用します。このスクリプトでは、sedをhtmlに置き換えて使用しています – kzpm