不知道该怎么做,bash,awk,python,other,所以欢迎提供建议和/或各种解决方案。如果这个问题太宽泛,我道歉
这是我的示例演示文件
Title1,Query1
Title2,Query2
Title3,Query3
...
TitleN,QueryN
这是我想要的输出文件:
基本上我希望上面的demofile每行1<row>...</row>
。
因此,如果demofile中有N行,那么我将有一个N行的outputfile<row>...</row>
标题和查询在每个<row>...</row>
中相应地改变。
所以基本上遍历demofile得到这个输出文件
<row>
<panel>
<title>
Title1
</title>
<chart>
<search>
<query>
Query1
</query>
<earliest>-24h@h</earliest>
<latest>now</latest>
<sampleRatio>1</sampleRatio>
</search>
<option name="charting.chart">line</option>
</chart>
</panel>
</row>
...
<row>
<panel>
<title>
TitleN
</title>
<chart>
<search>
<query>
QueryN
</query>
<earliest>-24h@h</earliest>
<latest>now</latest>
<sampleRatio>1</sampleRatio>
</search>
<option name="charting.chart">line</option>
</chart>
</panel>
</row>
我的实际演示文件如下所示,因此解决方案必须实际处理各种字符:
index=snmp_stats sourcetype=snmp_collector_log device=* | timechart span=5m sum(globalStatPktsRcvd) by device,Total packets received (in the last period) - sum(globalStatPktsRcvd)
index=snmp_stats sourcetype=snmp_collector_log device=* | timechart span=5m sum(globalStatPktsRcvdRate) by device,Packets received per second† - sum(globalStatPktsRcvdRate)
编辑下面的我的演示文件,共有两列,以逗号分隔,每列的开头和结尾都有双引号
"index=snmp_stats sourcetype=snmp_collector_log device=* | timechart span=5m sum(globalStatPktsRcvd) by device","Total packets received (in the last period) - sum(globalStatPktsRcvd)"
"index=snmp_stats sourcetype=snmp_collector_log device=* | timechart span=5m sum(globalStatPktsRcvdRate) by device","Packets received per second† - sum(globalStatPktsRcvdRate)"
如果我使用上面的实际演示文件,这就是所需的输出(尽管看起来不那么容易-这就是为什么我使用上面的示例演示文件)
在实际的演示文件中有2行代码,因此有2 <row>...</row>
。
唯一的更改是在title和query标记中
<row>
<panel>
<title>
Total packets received (in the last period) - sum(globalStatPktsRcvd)
</title>
<chart>
<search>
<query>
index=snmp_stats sourcetype=snmp_collector_log device=* | timechart span=5m sum(globalStatPktsRcvd) by device
</query>
<earliest>-24h@h</earliest>
<latest>now</latest>
<sampleRatio>1</sampleRatio>
</search>
<option name="charting.chart">line</option>
</chart>
</panel>
</row>
...
<row>
<panel>
<title>
Packets received per second† - sum(globalStatPktsRcvdRate)
</title>
<chart>
<search>
<query>
index=snmp_stats sourcetype=snmp_collector_log device=* | timechart span=5m sum(globalStatPktsRcvdRate) by device
</query>
<earliest>-24h@h</earliest>
<latest>now</latest>
<sampleRatio>1</sampleRatio>
</search>
<option name="charting.chart">line</option>
</chart>
</panel>
</row>
为了简单起见,我只写相关的标签,其余的只是在前后打印固定的文本
我刚试过这个: 需要整理一下/改进一下
相关问题 更多 >
编程相关推荐