1

Возникла надобность чуть изменить поведение программы, самое простое что придумал - следить за выводом и запускать нужную задачу при появлении в выводе определённой подстроки. Какими средствами этого можно добиться?

2

в такой формулировке, чем хочешь: sed/awk/perl/bash+grep

если вывод не плейнтекстовый, а какой-нить ncurses'овский, то задача усложняется...

95% процентов проблем находятся между клавиатурой и стулом.

3

Fat-Zer, яч знаю чем именно можно парсить кучку текста. Хотелось бы понять, как именно парсить постоянно добавляющиеся строчки, одновременно с выводом этих строчек на экран в неизменном виде.

4

acpid умеет выполнять определённые действия при появлении определённых строчек в логе.

Был, был и весь вышел...

5

fragment пишет:

Хотелось бы понять, как именно парсить постоянно добавляющиеся строчки

да то же самое... вот варианты на sed'е и bash'е:

echo -e '1\n2\n3' | sed -ne 'p;s/.*2,*/echo "&\" >>\/tmp\/log/e'
echo -e '1\n2\n3' | while read l; do echo "$l"; [[ "$l" = *2* ]] && echo "$l" >>/tmp/log; done
95% процентов проблем находятся между клавиатурой и стулом.

6

Fat-Zer, а с сохранением вывода?

7

fragment пишет:

Fat-Zer, а с сохранением вывода?

сохраняет же...

95% процентов проблем находятся между клавиатурой и стулом.

8

Fat-Zer, сохраняет, но цвета теряются  ac

9

fragment пишет:

Fat-Zer, сохраняет, но цвета теряются  ac

Попробуйте поменять  >>/tmp/log на | tee -a  /tmp/log.

Был, был и весь вышел...

10

fragment пишет:

Fat-Zer, сохраняет, но цвета теряются  ac

это уже трабла уровнем выше: большинство программ использующих цвета отключают их, если вывод идёт не на терминал...  если они действительно нужны, то  --color=y в помощь... или как-то так, но велика вероятность, что парсинг от этого сломется...

95% процентов проблем находятся между клавиатурой и стулом.