Я уже давно пытаюсь заставить это работать.Всякий раз, когда пишется новая строка, я бы хотел, чтобы фестиваль прочел эту строку для меня.Теперь я не уверен, как это сделать.Я пробовал фестиваль пайпинга с tail -f
, но это не работает.У кого-нибудь есть предложения?В настоящее время у меня есть этот код:
tail -f /var/log/fail2ban.log |
awk '/^[0-9.]+[.][0-9]+$/{
if(!a[$0]++)print "Malicious IP adress " $0 " has been banned."}' RS="[ :/\n]" |
while read line; do
echo "$line" | festival --tts
done
Я думал о сохранении каждой последней строки в новый файл, чтобы фестиваль читался каждые несколько секунд, но это занимает много файлов и, вероятно, сложнее, чем нужно.Я действительно думаю, что это возможно, но я не уверен, как.