在bash中如何“打破”手表然后重新添加?

时间:2015-09-29 00:30:11

标签: bash

我正在使用手表,因为我需要检测在日志文件夹中创建的新文件并将其拖尾。我似乎无法使用尾巴ie。 tail /dir/*.log并让它检测在文件夹中创建的新文件。所以目前我正在使用

#!/bin/bash
while :
do
   watch -n 1 "tail /tmp/tomcat-logs/*.log | grep --line-buffered \"ERROR\|INFO: Server startup in:\|Exception:\" | sed 's/ERROR/PROBLEMO/g' | tee /tmp/errchecker-log.txt"
   echo "do some processing here when a token is found"
done

在这种情况下,当一个令牌被发现“ERROR”时我需要停止观看 - 然后grep输出(计数线等..)然后重新观察直到下一个错误..冲洗重复

干杯

1 个答案:

答案 0 :(得分:0)

使用while read

#!/bin/bash

while read LINE; do
    echo $LINE
done < <(for i in $(seq 10); do echo $i; sleep 1; done)