我想在日志文件中出现某个文本时立即运行命令.我怎么用Bash做到这一点?
使用命令
tail -f file.log | grep --line-buffered "my pattern" | while read line do echo $line done
这--line-buffered
是关键,否则读取将失败.
仅使用tail
:
tail -f file.log | while read line; do if [[ $line == *text* ]]; then mycommand fi; done