【发布时间】:2019-11-19 08:34:48
【问题描述】:
我在 bash/html 中开发了一个 CGI。
使用这个 CGI,我可以显示 csv 文件中的一些信息。
这些信息之一是不同FRAME的RAM和CPU消耗。
为了显示这些信息,我创建了这个页面:
#!/bin/bash
echo "Content-type: text/html"
echo ""
echo '
<html>
<head>
<meta http-equiv="Content-Type" content="test/html"; charset=UTF-8">
<title> CLF MONITORING </title>
<h1> FRAME monitoring <font size=3> <a href="Index.sh">[ Index ]</a> </font> </h1>
<hr size="4" color="blue">
<style>
body{
background-color: #eff1f0;
}
</style>
</head>
<body>'
echo "<table>"
echo "<tr>"
echo "<td>"
echo "<PRE>"
echo "`./FRAME_SCRIPT.sh cccc.csv bbbb.csv`"
echo "</td>"
echo "</tr>"
echo "</PRE>"
echo "</table>"
echo '</body>'
'</html>'
我的脚本“FRAME_SCRIPT.sh”显示来自不同 csv 文件的有关 FRAME 的信息。这里是脚本
#!/bin/bash
OLDIFS=$IFS
IFS=','
for arg
do
echo -e "File : $arg "
echo "======================================================="
echo ""
while read FRAME RAM CPU1 CPU2
do
if [[ $FRAME != $PREV ]]
then
PREV=$FRAME
echo "FRAME : $FRAME"
echo -e "-----------------\n"
fi
echo -e "RAM : \t$RAM\n\
CPU 1 :\t$CPU1\n\
CPU 2 :\t$CPU2\n"
echo ""
done < "$arg"
done
我用命令运行它:
./My_script.sh *.csv
输出是:
File : cccc.csv
=======================================================
FRAME : MIAIBB00
-----------------
RAM :
CPU 1 :
CPU 2 :
FRAME : MIAIBTST1
-----------------
RAM :
CPU 1 :
CPU 2 :
FRAME : MIAIBYC00
-----------------
RAM : 8
CPU 1 : 2.0
CPU 2 : 4
RAM : 5
CPU 1 : 0.1
CPU 2 : 1
RAM : 6
CPU 1 : 0.2
CPU 2 : 1
RAM : 0.25
CPU 1 : 0.2
CPU 2 : 1
RAM : 64
CPU 1 : 3.0
CPU 2 : 7
RAM : 80
CPU 1 : 20.0
CPU 2 : 20
RAM : 8
CPU 1 : 1.0
CPU 2 : 2
RAM : 4
CPU 1 : 1.0
CPU 2 : 2
RAM : 4
CPU 1 : 1.0
CPU 2 : 2
RAM : 0
CPU 1 : null
CPU 2 : 0
File : bbbb.csv
=======================================================
FRAME : MO1PPC02
-----------------
RAM : 12
CPU 1 : 0.3
CPU 2 : 2
RAM : 8
CPU 1 : 0.2
CPU 2 : 2
RAM : 15
CPU 1 : 0.8
CPU 2 : 2
RAM : 8
CPU 1 : 0.5
CPU 2 : 1
RAM : 36
CPU 1 : 2.0
CPU 2 : 4
RAM : 48
CPU 1 : 8.0
CPU 2 : 12
RAM : 8
CPU 1 : 0.2
CPU 2 : 2
RAM : 8
CPU 1 : 0.2
CPU 2 : 2
RAM : 31
CPU 1 : 2.0
CPU 2 : 8
但我想在我的网页上显示这样的信息:
这个想法是当每次模式“文件:XXXX”出现时,这个带有他自己信息的模式都会显示在一个新的列中,在之前的模式“文件:XXXX”旁边。
我认为如果我们使用“File:”这样的键模式,这是可能的。我不能使用文件的名称,因为它从来都不是同一个。也许可以做到这一点,但我不知道如何......
在我的示例中,我在一个只有 2 个 csv 文件的目录中运行我的脚本,但实际上,我有更多的 csv 文件。所以在这种情况下,为了更清楚,我只使用了 2 个 csv。
你有什么想法吗?
【问题讨论】:
-
您好,我在添加更多细节时会尝试更清楚! :)
-
您没有添加我要求的详细信息,尽管您以 CSV 文件作为输入开始。我自己写的,见my answer。
-
顺便说一句,您的
</PRE>应该在</td>和</tr>之前,而不是之后。