awk '{ print $1,$4,$5 }' | sed -E 's/^([0-9]+:[0-9]+).*target=(.+ ).*>(.+)<\/.*/\1 \2\3°C/'
Здравствуйте, есть еще такой датчик
13:16:11 LOG: <chat target="MD-Garage" checkid="AC:2F:45:A5:FF:38">Motion Detect!</chat>
Обрабатываясь данной командой он становится такой
13:16 "MD-Garage" Motion
Как я успел разобраться, это из-за того, что есть пробел между Motion Detect! , а в awk задается 1,4 и 5 поля. И вроде бы логично на этот случай было бы добавить 6-й, но... Я попробовал запустить вообще без awk, только так
grep -w chat home.log | sed -E 's/^([0-9]+:[0-9]+).*target=(.+ ).*>(.+)<\/.*/\1 \2\3/'
И он выдал все правильно (убрал пока °C, чтоб не накладывались на MD)
11:26 "MD-Garage" Motion Detect!
Вопрос, а нужно ли тогда обязательно использовать AWK, если и без него работает ?
Пользователь добавил сообщение 31 Марта 2018, 12:00:07:
Каким способом можно следить без моего участия за этим логом, чтоб когда там появляется новая запись с этим chat'ом, она обрабатывалась той большой тройной командой, вставлялась в TG вместо ZZZZ и выполнялась отправка ?
Я не до конца понял, что и куда у вас приходит.
Сильно не пингуйте, я только учусь
)
Я сделал телеграм-бота, и скрипт .sh
#!/bin/bash
curl "
https://api.telegram.org/bot123456789:XXXXXXXXXXXXXXXXXXXXXXXXXX/sendMessage" -d 'chat_id=123456789&language_code=ru-RU&text=ZZZZZ'
добавил этот скрипт в cron (запуск каждые 10 минут). Теперь мне каждые 10 минут приходит сообщение в мой телеграмм с текстом ZZZZZ
Теперь пытаюсь понять как сделать так, чтоб вместо этих zzzzz приходил обработанный текст с лога. В идеале, конечно, нужно чтоб по температурам в доме не всегда шли, а только когда наступает "kernel panic" в доме
то есть, когда есть движение, или температура в доме стала меньше 10 градусов. Но это как, я понял , уже программа простенькая должна быть (на сравнение). Мне бы пока с азами разобраться
))
Спасибо ВСЕМ за ответы!