Linux 在HTML文件中打印ls-la

Linux 在HTML文件中打印ls-la,linux,bash,Linux,Bash,我正在写一个bash脚本。我需要打印一个带有日期戳的文件列表,以及html格式的文件大小 这就是我正在尝试的: for i in $(ls directory); do echo $i "<br>" >> file.html done $(ls目录)中i的;做 echo$i“”>>file.html 完成 如何格式化文件列表?正如其他人所建议的,不要解析ls的输出,因为您可能会遇到文件名中空格的问题。更好的方法是使用find。“查找”还允许您以所

我正在写一个bash脚本。我需要打印一个带有日期戳的文件列表,以及html格式的文件大小

这就是我正在尝试的:

for i in $(ls directory); do 
echo $i "<br>" >> file.html
done
$(ls目录)中i的
;做
echo$i“
”>>file.html 完成

如何格式化文件列表?

正如其他人所建议的,不要解析ls的输出,因为您可能会遇到文件名中空格的问题。更好的方法是使用find。“查找”还允许您以所需格式打印输出。因此,使用html表打印输出:

echo "<html><table>" >> htmlfile
find . -maxdepth 1 -type f -printf "<tr><td>%f</td><td>%s</td><td>%Tc</td></tr>\n" >> htmlfile
echo "</table></html>" >> htmlfile
echo”“>>htmlfile
找到-maxdepth 1-类型f-printf“%f%s%Tc\n”>>htmlfile
echo”“>>htmlfile

将开始的html/table标记打印到名为htmlfile的文件中。然后运行find命令,搜索目录中的所有文件,并打印文件名、大小和修改日期(区域设置格式),这些文件由表行/单元格标记包围。将此输出附加到htmlfile。最后打印表的结束html标记。

,只需对i in*使用
;执行
。另外,用于获取文件信息--您可以向其传递一个格式字符串,告诉它如何将文件的格式转换为。
*
不是“目录”,它扩展到当前目录中的文件名。@glennjackman很抱歉我的解释,它是一个符号示例。我已经编辑过了。