2014-09-24 2 views
1

с большим количеством помощи от сообщества, я сумел получить график от rebootlogfile.log в графику, используя скрипт нижедобавляющих условия с Gnuplot AWK сценария

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 

Я запустить сценарий из оболочки с помощью

gnuplot /usr/src/scripts/plots/core_temp_data/command.gpl 

, который дает мне enter image description here

данные огромный файл, который выглядит, как показано ниже, но с гораздо больше линий по несколько дней не только Sat, как напечатано здесь:

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 
  1. Как изменить команду AWK просто распечатать вне сказать «солнце»? У меня есть вопрос об изменении вопроса if if 0 here, но я получаю синтаксические ошибки.

  2. Как я могу построить на третьей колонке ноль или черная линия, или что-то, чтобы определить, «Wi-Fi, кажется, застрял»

  3. это то, что я после (24 часов в пн 22), взятых из электронную таблицу диаграмму на данных:

  4. Я думал о чем-то вроде этого:

    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

Спасибо 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

enter image description here

1

Вы можете добавить трубу grep для "Sun":

plot '< (awk stuff) | grep "^Sun"' using 1:2 ... 

^ соответствует началу строки.

+0

** участок « reggie

+0

Возможно - grepping этот шаблон работает как с одиночными, так и с двойные кавычки в моей системе (Mac OS X). Что происходит, когда вы запускаете эту команду в командной строке, а не через gnuplot? «Не работает», это не очень описательно, лучше показать, как это происходит. – andyras

+0

отсутствие сообщений об ошибках: ** строка 17: предупреждение: пропустить файл данных без действительных точек ** и ** строка 17: xr ange недействителен **, когда я пытаюсь запустить все это; и ничего не происходит в командной строке, оно просто не возвращается в приглашение. – reggie

Смежные вопросы