我有一个bash脚本来记录sar输出的cpu加载和内存使用情况,它以csv格式输出记录的统计信息。但是我如何从csv输出创建一个gnuplot图表,并且只在没有交互式命令/输入的情况下从命令行执行?
基本上,我想扩展我的bash脚本以记录sar输出,输出到csv并通过运行bash脚本创建gnuplot图表。
当前
sar cpu load csv output
Time,runq-sz,plist-sz,ldavg-1,ldavg-5,ldavg-15
02:04:36AM,0,171,0.00,0.00,0.00
02:04:37AM,0,171,0.00,0.00,0.00
02:04:38AM,0,171,0.00,0.00,0.00
sar mem csv output
Time,kbmemfree,kbmemused,%memused,kbbuffers,kbcached,kbcommit,%commit
02:11:38AM,1501736,811188,35.07,38852,101808,2628024,49.03
02:11:39AM,1501488,811436,35.08,38852,101808,2628024,49.03
02:11:40AM,1501364,811560,35.09,38852,101808,2628024,49.03
非常感谢任何建议:)
答案 0 :(得分:2)
一种方法(也许是最简单的方法)就是使用这种语法:
#!/bin/bash
outputname="output"
gnuplot << eor
set terminal png
set output '$outputname.png'
set datafile separator ","
plot 'datafile' u 1:2, '' u 1:3 ...
<other gnuplot commands here>
eor
正如我所示,bash变量名可以在gnuplot命令行中转义。