我只想first 5 lines after the match found
在 vi 编辑器中查看。命令是什么?
我只知道这些命令
/Incident Id:
给出从第一行到最后一行的所有行
:g/Incident ID:
仅给出匹配的单词,隐藏所有不匹配的单词
但是如何在找到匹配词后显示前 5 行……?
例子预期输出:
我有 8 行文本,我搜索事件编号
Incident ID: 1392875740716 <<<Match word here
URL: /Project/jsps/ErrorPage.jsp
java.lang.NullPointerException
at java.util.Calendar.setTime(Calendar.java:1092)
at com.cando.restaurant.utils.DateRange.createForWeek(DateRange.java:54)
at org.springframework.transaction.interceptor.TransactionInterceptor :110)
at org.springframework.aop.framework.ReflectiveMethodInvocation
at org.springframework.aop.interceptor.ExposeInvocationInterceptor
预期输出
Incident ID: 1392875740716 <<<Match word here
URL: /Project/jsps/ErrorPage.jsp
java.lang.NullPointerException
at java.util.Calendar.setTime(Calendar.java:1092)
at com.cando.restaurant.utils.DateRange.createForWeek(DateRange.java:54)
答案1
假设你打开一个名为 vi 的文件abcd
。为了只显示前 5 行,你将使用,
vi ./abcd |head -5
如果所有输出都视为单行,则使用
vi ./abcd | sed s/\n/\n./g | head -5
此命令将在每个换行符处添加一个点。