【发布时间】:2019-08-09 20:31:05
【问题描述】:
我有一个关于 HTML 的小项目。我构建 HTML 的脚本是这样的:
#!/bin/bash
summe=$(find /home/info/PDF -type f | wc -l)
array=()
find /home/info/PDF -type f -print0 >tmpfile
while IFS= read -r -d $'\0'; do
array+=("$REPLY")
done <tmpfile
if [ $summe>0 ]
then
rm -f /var/www/html/index.html
cat header.txt > /var/www/html/index.html
for (( i=0; i<$summe; i++))
do
cat testcontent.txt >> /var/www/html/index.html
done
cat footer.txt >> /var/www/html/index.html
fi
使用 $summe 我可以计算我的目录中有多少 PDF,以便稍后在我的 Nginx 上显示它们。在示例中,我有 3 个 PDF,然后内容 sn-p 将在我的 HTML 中设置 3 次。现在我的问题是 PDF 的名称不同,我不知道如何使用 SED 正确更改它们。
内容sn-p:
<div class="content">
<object data="chungus.pdf" style="width:1920px;height:1080px"</object>
</div>
我希望这是足够的信息,对于我仍在学习的糟糕英语感到抱歉。
【问题讨论】:
-
脚本的概念有点不同寻常。你应该在更抽象的层次上描述你想要做什么。我了解您想创建一个 HTML 文件,其中包含一个常量(?)标题
header.txt,您找到的每个文件的一部分testcontent.txt,修改为包含文件名(仅基本名称eins.pdf或完整路径)和页脚。仅当您找到至少一个文件时才重新创建 HTML 文件。如果您没有找到文件,则 HTML 保持不变。是否需要在页眉或页脚某处显示文件数? -
@jww 显然脚本有问题,但主要问题似乎是如何将文件名放入生成的HTML输出中(使用sed)。
-
@Bodo 我不需要仅在 testcontent.txt 中显示页眉或页脚中的文件数
-
请edit您的问题添加更多信息,而不是仅在评论中回答。我不确定我理解是否正确。
testcontent.txt的修改版需要$summe吗?您的内容 sn-p 包含一个文件名chungus.pdf。我认为这应该替换为某人从问题中删除的示例中的文件名,如eins.pdf、zwei.pdf等。没有什么显然应该用文件数代替。如果不需要内容中的数字,则无需先统计文件。