在社区的大量帮助下,我设法使用下面的脚本将 rebootlogfile.log 的图形转换为图形
command.gpl
set terminal png size 2000,600
set output '/usr/src/scripts/plots/core_temp_data/output.png'
set size ratio 0.4
set xdata time
set timefmt "%H:%M:%S"
plot "<awk '{print $4, substr($0,match($0,/temp=[0-9.]+/)+5,RLENGTH-5)}' /var/log/rebootlogfile.log" using 1:2 with lines
我使用
从shell运行脚本gnuplot /usr/src/scripts/plots/core_temp_data/command.gpl
给了我
数据是一个巨大的文件,看起来如下所示,但在多天内有更多行,而不仅仅是星期六打印在这里:
Sat Sep 20 18:10:02 BST 2014 -- temp=57.3'C -- message from script /usr/src/scripts/wifi_test_2.sh
Sat Sep 20 18:11:01 BST 2014 -- temp=57.3'C -- message from script /usr/src/scripts/wifi_test_2.sh
Sat Sep 20 18:12:01 BST 2014 -- temp=57.8'C -- message from script /usr/src/scripts/wifi_test_2.sh
Sat Sep 20 18:13:01 BST 2014 -- temp=57.3'C -- message from script /usr/src/scripts/wifi_test_2.sh
Sat Sep 20 18:14:02 BST 2014 -- temp=58.4'C -- message from script /usr/src/scripts/wifi_test_2.sh
Sat Sep 20 18:15:01 BST 2014 -- temp=57.8'C -- message from script /usr/src/scripts/wifi_test_2.sh
Sat Sep 20 18:16:01 BST 2014 -- temp=57.3'C -- message from script /usr/src/scripts/wifi_test_2.sh
Sat Sep 20 18:16:02 BST 2014 -- WiFi seems stuck, rebooting - message from script /usr/src/scripts/wifi_test_2.sh
Sat Sep 20 18:17:18 BST 2014 -- temp=57.3'C -- message from script /usr/src/scripts/wifi_test_2.sh
Sat Sep 20 18:18:02 BST 2014 -- temp=58.4'C -- message from script /usr/src/scripts/wifi_test_2.sh
Sat Sep 20 18:19:01 BST 2014 -- temp=58.4'C -- message from script /usr/src/scripts/wifi_test_2.sh
Sat Sep 20 18:20:01 BST 2014 -- temp=58.9'C -- message from script /usr/src/scripts/wifi_test_2.sh
如何修改awk命令才能打印出来&#34; sun&#34;?我已修改了if语句问题1 here,但我遇到了语法错误。
如何在第三列上绘制零线或黑线,或者用什么来识别&#34; wifi似乎卡住&#34;
这是我从数据的电子表格图表中获取的(星期一,22小时后24小时):
我在考虑这样的事情:
plot "<awk 'if ($1 == 'Sat') {print $4, substr($0,match($0,/temp=[0-9.]+/)+5,RLENGTH-5)}' /var/log/rebootlogfile.log" using 1:2 with points
但是当我运行它时,我得到x range is invalid
。
答案 0 :(得分:1)
您可以为“{”添加管道grep
:
plot '< (awk stuff) | grep "^Sun"' using 1:2 ...
^
匹配一行的开头。
答案 1 :(得分:0)
感谢andyras指出我正确的方向。我试图grep一个没有从awk命令输出的列。经过进一步搜索,我偶然发现了conditions in awk和宾果游戏!这个命令有效!
plot "<awk '/Mon/ {print $4, substr($0,match($0,/temp=[0-9.]+/)+5,RLENGTH-5)}' /var/log/rebootlogfile.log" using 1:2 with points