我可以使用 `-f` 标志过滤 `tail` 的输出吗?

我可以使用 `-f` 标志过滤 `tail` 的输出吗?

我想在 RHEL 6.8 上tail -f输出access_log,但要用管道和 grep 将该输出用作过滤器。有这样的选择吗?

那就是我想要的实时输出:

# tail -f error_log | grep <<ON.THIS.IP.ADDY>>

目前我正在做类似的事情,但它很笨重:

watch -n 5 'tail -n 10 access_log | grep <<ON.THIS.IP.ADDY>>'

答案1

我刚刚做了一个tail -f <nginx-access.log> | grep <ip>,正如预期的那样,新的线条定期出现。

当您尝试时会发生什么?可能是缓冲区有问题(我想我已经看到了),在这种情况下,将其添加到grep可能会有所帮助。--line-bufferedgrep

相关内容