Linuxsearch词并显示整行

我有一个非常大的日志文件(6演出)。

我想search“2012年11月12日”,并打印每一行。

我是一个Linux新手,不知道如何做到这一点。 很可能需要更多的选项来查看X行,并通过search向前移动。

grep --after-context=5 --before-context=10 'Nov 12 2012' yourfile.log 

这将显示包含您的日期文本的每一行,以及在匹配的行之前的10行文本,以及匹配的行之后的5行。

您可以使用grep来显示匹配的线路,而less寻呼机:

 grep 'Nov 12 2012' /path/to/logfile | less 

在每个页面的末尾键入“空格”以前进到结果的下一个屏幕。

你可以使用grep如下:

 grep 'Nov 12 2012' file_to_search.log > search_results.log 

一些解释:

  • grep是用于搜索模式的命令/工具的名称
  • 'Nov 12 2012' :在grep之后立即至少分隔一个空格,指定要搜索的模式
  • file_to_search.log :作为这里grep的最后一个参数,你指定你要搜索的文件
  • > search_results.log>表示输出重定向 。 这里的意思是“把这个命令的输出写到一个名为search_results.log的文件中,如果这个文件已经存在,就把它完全覆盖掉。

获得输出后,您可以使用您选择的文本编辑器查看结果,或使用less的文本编辑器查看结果,请使用以下任一项:

 less search_results.log gedit search_results.log emacs search_results.log vim search_results.log 

以脚本格式打开文件,然后使用要查找的关键字进行搜索,如下所示。

 $vi <logfilename> & :/search 

这是在大日志文件中定位错误的好方法:grep –after-context = 5 –before-context = 10'错误'yourfile.log或grep –after-context = 5 –before-context = 10 '异常'yourfile.log