history | grep : how to visualize more lines around the founded commands?
本问题已经有最佳答案,请猛点这里访问。
我使用命令
例如,对于
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | 1209 git status 1210 git add . 1211 git commit -m 'bla bla bla' 1212 git push http://xxx.xxx.xx.x:xxxxx/ 1213 git tag 1214 source tools/settings.sh 1215 cd demos/xxxxxxx/ 1216 xxxxxxx 1217 cd demos/wait_zcu102/ 1218 ls 1219 cd build.sw/ <------------------------------------- <key_word> is here 1220 ls 1221 atom . 1222 source tools/settings.sh 1223 cd demos/xxxxxxxxx/ 1224 xxxxx |
有没有办法做到这一点?
您对所要求的内容有原生支持:
-
grep -B 1 在每场比赛前显示一行[B] -
每次匹配时,
grep -A 1 显示一行[A]
这两个选项可以同时使用,显然你可以指定任何数字> = 0。
要完成您的示例:
有关更多信息,请查看grep man中的Context Line Control部分。
从
1 2 3 4 5 6 7 8 | -A num, --after-context=num Print num lines of trailing context after each match. -B num, --before-context=num Print num lines of leading context before each match. -C[num, --context=num] Print num lines of leading and trailing context surrounding each match. The default is 2 and is equivalent to -A 2 -B 2. |
在上面的示例中,您可以使用:
1 | history | grep -A5 -B10 build |