在你们的帮助下,我编写了代码以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
需要将所有这些文件合并为一个。 请在这方面需要您的帮助。
答案 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