我正在使用gphoto2监控摄像头生成的事件。
输出示例如下:
UNKNOWN PTP Event 400c, Param1 00010001
UNKNOWN PTP Event 400c, Param1 00010001
UNKNOWN PTP Event 400c, Param1 00010001
UNKNOWN PTP Event 2919, Param1 00000000
UNKNOWN PTP Event 400c, Param1 00010001
UNKNOWN PTP Event 400c, Param1 00010001
UNKNOWN PTP Event 2919, Param1 00000000
UNKNOWN PTP Event 400c, Param1 00010001当一个新的图片被拍摄时是“事件400c”(现在从试验中知道一个错误),我想在输出中找到这样的字符串时运行一个脚本(以下载图像文件并继续我的过程),同时让监视器为将来的事件运行。
谢谢
发布于 2014-04-28 06:44:51
tail -f data_file | while read l
do
if [[ "$l" == *"Event 400c"* ]]
then
echo do something;
fi
done当然,您需要将echo命令替换为您的命令
发布于 2014-04-28 05:53:09
通过管道将其传递给grep,然后将输入字符串通过管道传递到脚本
输入流:
$ cat temp
UNKNOWN PTP Event 400c, Param1 00010001
UNKNOWN PTP Event 2919, Param1 00000000
UNKNOWN PTP Event 400c, Param1 00010001
UNKNOWN PTP Event 400c, Param1 00010001
UNKNOWN PTP Event 2919, Param1 00000000
UNKNOWN PTP Event 400c, Param1 00010001一些处理数据的脚本:
$ cat temp.py
#! /usr/bin/python
import sys
for line in sys.stdin:
print "Input matching:", line, 管道:
$ tail -f temp | grep 400c | python temp.py
Input matching: UNKNOWN PTP Event 400c, Param1 00010001
Input matching: UNKNOWN PTP Event 400c, Param1 00010001
Input matching: UNKNOWN PTP Event 400c, Param1 00010001
Input matching: UNKNOWN PTP Event 400c, Param1 00010001https://stackoverflow.com/questions/23329466
复制相似问题