将多个html文件合并为一个

时间:2019-04-03 07:57:03

标签: html bash

在你们的帮助下,我编写了代码以html文件形式获取程序的输出。

但是现在问题出在每台服务器上,我得到一个单独的html文件 例如 10.106.86.00_FinalData.html,10.106.86.01_FinalData.html ...

下面是为每个服务器生成html文件的代码

Dell_Data_Status_3=`cat /home/${svr}_Data_Status_3.csv`
var=$(printf "%s\n" "${Dell_Data_Status_3[@]}" |
awk -F, '
$3==3{
    f2=$2=f2 (f2==""?"":",") $2
    out=$0
}
END { print out }')
#echo $var
ServerName=`echo "$var" | awk -F " " {'print $1'}`
Index=`echo "$var" | awk -F " " {'print $2'}`
Status=`echo "$var" | awk -F " " {'print $3'}`



echo "<html>
<head>
<style>
table, th, td {
  border: 1px solid black;
}
</style>
</head>
<body>

<table>
  <tr>
    <th>ServerName</th>
    <th>Index</th>
    <th>Status</th>
  </tr>
  <tr>
    <td>$ServerName</td>
    <td>$Index</td>
    <td bgcolor=#00FF00>OK</td>
  </tr>

</table>

</body>
</html>

" >> /home/${svr}_FinalData.html

需要将所有这些文件合并为一个。 请在这方面需要您的帮助。

1 个答案:

答案 0 :(得分:0)

如果您已经生成了文件,并且想要合并内容并保留标题,则可以制作其他程序merge.sh:

echo "<html>
<head>
<style>
table, th, td {
  border: 1px solid black;
}
</style>
</head>
<body>" > /home/MergedFinalData.html

for $file in $(ls /home/*_FinalData.html) ; do
    head -n23 $file | tail -n13 >> /home/MergedFinalData.html ;    
done

echo "</body>
</html>" >> /home/MergedFinalData.html