我需要浏览一个大型日志,我希望在一个屏幕上看到每个匹配(在每个匹配之前和之后有几行),或者至少以我可以从匹配滚动/跳转到匹配的方式。 / p>
cat some.log | grep -B5 -A10 <regex>
我希望能够通过将它用于更少或通过其他方式来匹配。我可以使用-m
选项轻松获得前N个匹配,但我想知道是否有一种巧妙的方法可以做我想要的:从匹配跳转到匹配。我可以编写一个小函数来添加前后标志中的数字,加1(对于匹配自身的行),然后将它添加到尾部,但是可能有一个内置的Linux函数已经完成了我想要的。
答案 0 :(得分:2)
您可以使用“less”直接打开日志。使用“-S”作为选项,不会包裹线条。然后,您可以输入“/”和正则表达式来搜索您感兴趣的行。使用“n”,您可以跳转到下一个匹配项。您可以使用光标键轻松滚动。
答案 1 :(得分:1)
尝试使用grep
+ less
grep -B5 -A10 <regex> some.log | less