如何提取已经与多行模式匹配的文本?
全部 使用 vim 元字符 \_。或 awk,我已经匹配了多行,但我不知道如何将它们拉入或提取到其他文件中。有通用的方法可以做到这一点吗?
all
using vim meta-character \_. or awk, I have matched the multiple lines, but I don't know how to yank or extract them into other files.Is there a general way to do this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
这个答案适用于 Vim,而不是 Awk。
我可以建议:
然后:
然后您可以使用
"zp
将匹配项粘贴到另一个文件。有关此语法的详细信息,请参阅
:help sub-replace-expression
。This answer is applying to Vim, not Awk.
I can suggest:
And then:
Then you can use
"zp
to paste your matches to another file.See
:help sub-replace-expression
for details on this syntax.在 awk 中使用 print 然后将输出重定向到其他文件。
use print in awk then redirect output to other file .
仅将模式复制到另一个文件
Only to copy pattern to another file
如果您在搜索开始,
y//e
会将整个匹配字符串复制到默认寄存器中。请注意,在此操作之后,如果您想要n
,n
会将您带到当前搜索的末尾(因为保存了e
偏移标志)要继续带您回到开头,您还应该输入//
(这会清除所有偏移标志)。所以,整个按键顺序是If you are at the start of the search,
y//e<CR>
will copy the whole matched string into default register. Note that after this actionn
will bring you to the end of the current search (becausee
offset flag is saved), if you wantn
to continue bringing you to the start, you should additionally type//<CR>
(that clears all offset flags). So, the whole key sequence is