html - 将 shell 脚本结果转换为 HTML 表格
问题描述
请帮助我通过电子邮件将 shell 脚本的结果转换为 HTML 表格。我编写了一个 shell 脚本,它将以以下格式提供输出。
Directory Name: /a/b/c
Business Date: 20200323
Expected_files_1:2
Expected_files_2:14
Actual_files_1: File count changes each day
Actual_files_2: File count changes each day
Comments of Actual_files_1
Comments of Actual_files_2
Other Comments
我想使用 shell 脚本将上述结果转换为 HTML 表。
该表应始终包含两行,一是标题,另一行是脚本中的变量值。第一行是 HTML 表格的标题,它将始终保持不变。第二个表的值每天都在变化。
因为我是 HTML/Shell 脚本的初学者,所以我不知道编写一个脚本,它会给我上面的 HTML 格式的结果。
任何帮助,将不胜感激
解决方案
这是一个两步过程:
- 将列转置为行,以冒号作为输入/输出分隔符:
awk -f tst.awk inputfile.txt > result.txt
tst.awk 包含以下代码:
BEGIN { FS=OFS=":" }
{
for (rowNr=1;rowNr<=NF;rowNr++) {
cell[rowNr,NR] = $rowNr
}
maxRows = (NF > maxRows ? NF : maxRows)
maxCols = NR
}
END {
for (rowNr=1;rowNr<=maxRows;rowNr++) {
for (colNr=1;colNr<=maxCols;colNr++) {
printf "%s%s", cell[rowNr,colNr], (colNr < maxCols ? OFS : ORS)
}
}
}
- 用于将第 1 点的输出转换为 html 表格格式:有一个简单的脚本可用于执行此操作:https ://sourceforge.net/projects/command-output-to-html-table/可用于转换任何命令输出或文件为漂亮的 html 表格格式。您可以为此脚本指定分隔符,包括制表符、换行符等特殊分隔符,并以 html 表格格式获取输出,并在顶部进行 html 搜索。只需下载脚本,解压缩并发出以下命令:
cat result.txt | { cat ; echo ; } | ./tabulate.sh -d ":" -t "My Report" -h "My Report" > output.html
这里 : 作为分隔符。
我在这里附上了一个示例 output.html:https ://sourceforge.net/projects/my-project-files/files/output.html/download
推荐阅读
- github - 如何查询github上的高级问题处理(里程碑和项目的使用)?
- javascript - *ngif 第一次点击后不工作。角 6
- nodes - 如果两个 geth 客户端(在两台不同的机器上)在主网中使用相同的 nodekey 文件(节点 ID)运行会发生什么?
- yii2 - Yii2-如何通过重定向传递模型ID
- cassandra - Cassandra 简单的主键查询
- javascript - 从日期属性中具有最新值的数组中获取对象?
- android-ndk - 编译器(clang,android ndk r18)找不到 stl_algobase.h
- javascript - 直接在号码上调用方法
- javascript - 这是否可以通过 mongoDB Query 从嵌套数组中提取对象?
- spring - Spring JPA - 如何避免大量代码冗余