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

标签 linux bash date logging centos

我有一个 WebLogic 应用程序的日志文件“Apps.out”,有一个特定的应用程序将这样的日志发送到该文件:

[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 进行更改并根据需要返回尽可能多的行或从文件开头读取。

关于linux - 过滤日志并将输出实时发送到新文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69285602/

相关文章:

windows - lua lane 线程间通信

linux - 从主 bash 脚本启动另一个 bash 脚本

bash - 在后台运行 inotifywait

sqlite 选择特定月份的特定日期和非特定月份

linux - Eucalyptus 在上传图片时设置问题

linux - 网页开发+USB通知

bash shell 程序

linux - 列出不包含模式的文件

javascript - 在 JavaScript 中向当前日期添加天数

java - 将 GMT 时区转换为用户特定时区