Простым путем был бы awk.
tail -f /path/to/serverLog | awk '
/Printer is on fire!/ { system("shutdown -h now") }
/new USB high speed/ { system("echo \"New USB\" | mail admin") }'
И да, оба из тех являются реальными сообщениями от журнала ядра. Perl мог бы быть немного более изящным для использования для этого и может также заменить потребность в хвосте. При использовании жемчуга это будет выглядеть примерно так:
open(my $fd, "<", "/path/to/serverLog") or die "Can't open log";
while(1) {
if(eof $fd) {
sleep 1;
$fd->clearerr;
next;
}
my $line = <$fd>;
chomp($line);
if($line =~ /Printer is on fire!/) {
system("shutdown -h now");
} elsif($line =~ /new USB high speed/) {
system("echo \"New USB\" | mail admin");
}
}
Просто смотря на системы, доступные мне здесь:
Red Hat Enterprise Linux и его близким родственникам (Fedora, CentOS, Научный Linux, Oracle Linux...) будут всегда устанавливать Python начиная с установщика и многих базовых инструментов, записан в Python.
Ubuntu установили Python по умолчанию с тех пор, по крайней мере, версия 8.04.
Debian в настоящее время поставлется с Python, установленным по умолчанию.
Mac OS X поставлялся с Python, установленным значением по умолчанию, возвращающимся по крайней мере к 10,3.
OpenIndiana в настоящее время поставлется с Python, установленным по умолчанию. Я предполагаю, что означает, что Солярис также делает, но у меня нет системы здесь для тестирования.
Python не установлен по умолчанию ни в одном из BSDs, если Вы не считаете OS X. Можно найти, что это доступно в системе BSD, потому что это было добавлено после того, как система была установлена. В противном случае это доступно через систему пакета по умолчанию во всех случаях:
Daniel Roseman разобрался в нем, я думаю, что всем основным дистрибутивам установили Python по умолчанию как его используемый для многих (если не большинство) приложения для настольных сред Gnome/KDE (по крайней мере).
См. этот ответ по подобному вопросу на StackOverflow.
Кроме того, эта страница документации Python, говорит практически то же самое:
Python появляется предварительно установленный в большинство дистрибутивов Linux и доступен как пакет на всех других.