将“tail --follow=name | grep”重定向到文件

将“tail --follow=name | grep”重定向到文件

以下是我的情况:

我有一个日志文件,它也由应用程序写入。日志文件名为“alarms.log”。我想跟踪文件中的某个字符串,并将其重定向到名为 alarms.log.test 的文件。因此,我使用以下命令。

tail --follow=name alarms.log | grep CEC >> alarms.log.test

然后我使用以下命令跟踪重定向到的文件:

tail --follow=name alarms.log.test

我的问题是:文件 alarms.log.test 没有在文件中获取任何内容。我知道它应该是这样的。因为找到了字符串。我认为问题是重定向等待读取一定量的数据,然后刷新到重定向文件,是这样吗?

我需要它在每次发现某些内容时立即刷新到文件中。有办法吗?

谢谢

答案1

您可以使用该tee命令来实现这一点吗?

The tee command is used to store and view (both at the same time) the output of any other command.

也许类似于链接的示例超级用户

tail -f alarms.log | egrep --line-buffered 'name' | tee alarms.log.test

另请参阅:http://linux.101hacks.com/unix/tee-command-examples/

相关内容