有什么方法可以向后运行grep,即从文件末尾开始?

gcb*_*gcb 1 linux bash grep command-line

我有一个 70G+ 的日志文件,我想要与模式匹配的最新条目(apache 日志在末尾追加新项目)。我可以:

run grep | tail
Run Code Online (Sandbox Code Playgroud)

或者

run tail | grep
Run Code Online (Sandbox Code Playgroud)

选项 1 将永远存在。选项 2 可能什么都不返回,然后我将不得不增加 tail 的计数并继续运行直到我得到一些东西。

如果我可以从最后一行到第一行 grep,那将是理想的。但是我在 grep 的手册页上找不到任何选项。

有什么技巧可以做到这一点吗?单独使用 grep 还是与任何其他 linux 工具组合?

小智 7

我认为最能帮助你的命令是 tac:http : //linux.die.net/man/1/tac

正如它所说:
tac - 反向连接和打印文件

因此,您可以在停止之前将其通过管道传递给 grep 并匹配 nnn 行数,或者沿着这些行进行某些操作。