我有一个日志文件" 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 &