系统相关
首页 > 系统相关> > linux – Grep for String并在相应的行打开

linux – Grep for String并在相应的行打开

作者:互联网

我在使用grep获得的几行中的几个文件中出现了几次特定字符串.

$grep -rn --include="*.cpp" mystring
lib/mlib/actionbuttonrule.cpp:300:  mystring Foobar...
lib/mlib/actionbuttonrule.cpp:314:  other mystring
lib/mlib/item.cpp:3025:             /* mystring**/
lib/mlib/item.cpp:3082:             mystring Foobar...
lib/mlib/item.cpp:3095:             Foo mystring bar

我想在相应的行上按顺序打开这些文件.我尝试用vim做到这一点,但到目前为止打开线路还没有成功.
一定不能是vim或grep,但我认为必须有某种功能……

解决方法:

您可以在Vim的quickfix列表中加载grep输出:

$vim -q <(grep -rn --include="*.cpp" mystring)

使用:cn转到下一个出现位置,然后使用:cp转到上一个出现位置.

请参阅:help -q和:help quickfix.

标签:linux,grep,vim,command-line,batch-processing
来源: https://codeday.me/bug/20190727/1550164.html