BashにHTMLチャンクを挿入する最良の方法

BashにHTMLチャンクを挿入する最良の方法

私はサーバーに関するデータを収集し、それを素晴らしい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変数がその値に展開されます。

おすすめ記事