用于创建新 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 while
、help read
、here document
${name// /_}.html
: replace all whitespaces by _
in output
${age# *}
: remove leading whitespace in output
我正在寻找一个脚本,它将根据基本模板创建新的 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 while
、help read
、here document
${name// /_}.html
: replace all whitespaces by_
in output
${age# *}
: remove leading whitespace in output