【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