过滤日志并将输出实时发送到新文件



我有一个日志文件" apps .out ";对于WebLogic应用程序,有一个特定的应用程序将日志发送到该文件:

[YYYY/MM/DD HH:MM:SS][INFO][PATTERN -> Information1]
[YYYY/MM/DD HH:MM:SS][INFO][PATTERN -> Information2]
[YYYY/MM/DD HH:MM:SS][INFO][PATTERN -> Information3]
[YYYY/MM/DD HH:MM:SS][INFO][PATTERN -> Information4]
[YYYY/MM/DD HH:MM:SS][INFO][PATTERN -> Information5]

我可以用grep 'PATTERN' Apps.out来过滤这些信息但是我想将此信息发送到一个新文件(app1.log),并且执行此累进操作只是为了在app1.log上发送与PATTERN匹配的新寄存器,是否可以实时执行?谢谢你

您可以使用tail -f:

nohup bash -c "tail -f Apps.out | grep PATTERN > app1.log" &

这将跟随文件,从你开始后退10行开始。

你可以用-n来改变它,并返回尽可能多的行,或者从文件的开始读取。

您可以这样做:将<your_log_file>作为日志文件和<your_PATTERN>作为你的模式

nohup tail -f <your_log_file>.log|while IFS= read -r;do
case $REPLY in
(*<your_PATTERN>*)printf "%sn" "$REPLY">>app1.log;
esac
done &

相关内容

  • 没有找到相关文章

最新更新