以下是我的情况:
我有一个日志文件,它也由应用程序写入。日志文件名为“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