【Linux】使用find+grep在一批文件中查找内容并显示 再用VI进行定位


linux机器一般被当作服务器来用,而出错信息多写在log文件里,而且log文件还不知一种一个,而是N种无数个,这一旦出错找起来无论是用more还是less还是VI都够烦人的。

但如果说,我们知道出错时特定的文字,事情就好办多了,比如说特定文字是“[ERROR]”,而log文件都以log为扩展名,那么可以这么写命令:

#find -name '*.log'|xargs grep '[ERROR]'

这段命令以 | 为分界线,

前一部分为find -name '*.log',其指示系统去找出扩展名为log的文件;

后一部分为xargs grep '[ERROR]',其指示系统去查看文本,列出其中包含[ERROR]的内容和文件。

例子:

#find -name '*.log'|xargs grep '[ERROR]'

./a.log :[ERROR]

./b.log :[ERROR]

 当然,找到文件之后应该用vi打开文件,输入”/文字“进行往下定位或”?文字“进行往上定位,如果不止一个则按n键进行遍历。

END

相关