搜索数据显示为尾部操作?

时间:2012-04-27 11:54:49

标签: linux

我正在开发一个Java EE应用程序,其中的日志将在Linux服务器中生成。

我使用了 tail -f -n -10000 MyLog 命令 它显示该日志文件的最后1000行。

现在我在Putty中按Ctrl + c断开日志更新(因为我担心它可能会被新请求更新,我会丢失我的数据)

在显示的结果中,如何搜索特定关键字? (使用/ String名称进行搜索,但它不起作用)

5 个答案:

答案 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-SCTRL-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)

您只需使用较少的命令即可打开

less logfile_name

打开文件时,您可以使用本指南here

提示:我建议,首先使用G转到文件末尾,然后再使用向后搜索