私はサーバーに関するデータを収集し、それを素晴らしいHTML電子メールレポートにフォーマットするスクリプトを書いてきました。これまでHTMLテンプレートの値を置き換えるためにsedを使用してきましたが、ほとんど大丈夫でした。 sedが複数行をうまく処理できないようで、何をすべきかわかりません。たぶん私が考えていないperlやawkメソッドがあるかもしれません。
以下は、既存のテンプレートのファイル数に応じて、既存のテンプレートに0-nテーブルブロックを挿入する必要がある例です。
$filesのfについて
<tr class="details">
<td> f.$DATE </td>
<td> f.$APPLIANCE </td>
<td> f.$HOST </td>
<td> f.$MDL </td>
</tr>
など。
ありがとうございます!
答え1
ここでドキュメントを使用してください。
for f in $files; do
cat <<END_HTML
<tr class="details">
<td> f.$DATE </td>
<td> f.$APPLIANCE </td>
<td> f.$HOST </td>
<td> f.$MDL </td>
</tr>
END_HTML
done
これにより、単語があるほど多くのチャンクが出力され、名前付き$files
変数がその値に展開されます。
答え2
「スニペット」を試してみることができます。多くのテキストエディタやIDEがこの機能をサポートしています。コーディングブロックの一部のテンプレートをカスタマイズして名前を付けることができます。その後、名前とタブを入力してコーディングブロックに展開できます。 Tabキーを使用してプレースホルダを編集することもできます。