这不是一个专门针对 Linux 的问题。但我想知道是否可以在 BASH 中完成此操作。我的文件夹中有多个 HTML 文件,我想生成 HTML 目录。因此对于file1.html 和 file2.html,我想生成一个这样的文件:
<html>
<body>
<h1>Table of Contents</h1>
<p style="text-indent:0pt">
<a href="file1.html">file1</a><br/>
<a href="file2.html">file2</a><br/>
</p>
</body>
</html>
该过程很简单,但当您有十多个名称很长的文件时,可能会变得乏味且令人困惑。我使用 Calibre 使用目录文件将 HTML 文件转换为电子书格式。如果能自动完成的话,会省去很多麻烦。
感谢您的时间。任何帮助,将不胜感激。
答案1
创建一个包含以下内容的文件:
#!/bin/sh
echo "<html>"
echo " <body>"
echo " <h1>Table of Contents</h1>"
echo " <p style=\"text-indent:0pt\">"
for fil
do
echo " <a href=\"$fil\">${fil%.html}</a><br/>"
done
echo " </p>"
echo " </body>"
echo "</html>"
给它一个名称,例如toc
。键入chmod +x toc
,然后./toc *.html
在文件所在目录中运行。它将把 HTML 目录写入标准输出,当然,您可以将其重定向到文件。