用于创建新 html 文档的脚本

Script to create new html documents

我正在寻找一个脚本,它将根据基本模板创建新的 html 文档,但其中包含各种占位符以替换我在 csv 中的项目。我想知道是否有人对如何解决这个问题有任何想法。

我想做的事情的例子。

<HTML>
   <HEAD>
    <TITLE>
     First item in csv
    </TITLE>
   </HEAD>

   <BODY>
    <p>Second item in csv</p>
   </BODY>
</HTML>

Items: John Smith, He is 42

Output = john_smith.html

<HTML>
   <HEAD>
    <TITLE>
     John Smith
    </TITLE>
   </HEAD>

   <BODY>
    <p>He is 42</p>
   </BODY>
</HTML>

使用 bash 从 csv 文件创建多个 html 文件的示例:

file.csv:

John Smith, He is 42
Jane Doe, She is 25

script.sh:

#!/bin/bash

while IFS="," read -r name age; do
  cat << EOF > "${name// /_}.html"
    <HTML>
       <HEAD>
        <TITLE>
         $name
        </TITLE>
       </HEAD>

       <BODY>
        <p>${age# *}</p>
       </BODY>
    </HTML>
EOF
done < file.csv

这将创建两个文件:John_Smith.html 和 Jane_Doe.html


参见:help whilehelp readhere document

${name// /_}.html: replace all whitespaces by _ in output

${age# *}: remove leading whitespace in output