我正在寻找VI / VIM中的命令来搜索文件中的特定文本,并在屏幕或单独的文件中获取整行和输出。 e.g。
This is some line with this _word_ and some other text.
This is some line with this some other text and some other text.
所以这只会输出第一行..
答案 0 :(得分:3)
:redir > output.txt
:g/_word_/p
:redir END
该行将输出到屏幕并输出到output.txt
。请参阅:h :redir
。
编辑:我同意其他建议使用普通旧* nix grep
的人,如果可以的话。您可能无法使用grep
的情况:
grep
。 redir
在这些情况下非常有用。
答案 1 :(得分:1)
使用g(全局)命令:
:g/_word_/y
会抽取包含_word_
提到了DOS find
命令,您可能想要使用grep
:
grep -h '_word_' * > results
答案 2 :(得分:0)
在vi中,从命令模式
搜索_word_
/_word_
划线
yy
粘贴该行
p