我正在开发一个Java EE应用程序,其中的日志将在Linux服务器中生成。
我使用了 tail -f -n -10000 MyLog
命令
它显示该日志文件的最后1000行。
现在我在Putty中按Ctrl + c断开日志更新(因为我担心它可能会被新请求更新,我会丢失我的数据)
在显示的结果中,如何搜索特定关键字? (使用/ String名称进行搜索,但它不起作用)
答案 0 :(得分:11)
两种方式:
tail -n 10000 MyLog| grep -i "search phrase"
tail -f -n 10000 MyLog | less
第二种方法允许你用/搜索。它只会向下搜索,但你可以按g返回到顶部。
编辑:在测试时,似乎方法2并不能正常工作......如果你点击文件的末尾,它会冻结,直到你按ctrl + c尾部命令。
答案 1 :(得分:10)
将输出传输给PAGER。
tail -f -n LINE_CNT LOG_FILE | less
然后你可以使用
/SEARCH_STRING
答案 2 :(得分:1)
您需要将tail
的输出重定向到搜索实用程序(例如grep
)。您可以分两步执行此操作:将输出保存到文件,然后在文件中搜索;或者一次性:将输出管道传输到搜索实用程序
要查看文件中的内容(这样你可以点击Ctlr + c)你可以使用tee
命令,它将输出复制到屏幕和文件中:
tail -f -n -10000 MyLog | tee <filename>
然后在文件中搜索。
如果要将结果通过管道传输到搜索工具中,可以使用与上面相同的技巧,但使用搜索程序代替tee
答案 3 :(得分:0)
动态控制终端输出
在Putty等终端中运行任何命令时,您可以使用CTRL-S
和CTRL-Q
来停止并开始输出到Putty终端。
使用grep排除行
如果要排除包含特定模式的行,请使用grep -v
以下内容删除包含字符串INFO的所有行
tail -f logfile | grep -v INFO
显示不包含“INFO”或“DEBUG”字样的行
tail -f logfile | grep -v -E 'INFO|DEBUG'
最后,所有拖尾工具的母亲和父亲都是xtail.pl
如果您的主机上有perl xtail.pl是一个非常好的学习工具,简而言之,您可以使用它来拖拽多个文件。非常便利。
答案 4 :(得分:0)