多个文件的正则表达式

多个文件的正则表达式

对正则表达式非常陌生,并且有一个文件目录,我想在其上运行此正则表达式,但不知道如何运行。帮助会很大。

这是正则表达式:

(?<=#).*

答案1

正则表达式模式(?<=#).*是一种零宽度正向后向模式,需要支持 PCRE(Perl 兼容正则表达式)grep才能实现。如果您grep支持-P选项那么您就可以做到。

看到该模式,我认为您可能还需要-o选择仅获取匹配的部分,以确保在所需的部分之前(?<=#)有一个。#.*

所以你可以递归grep( -r):

grep -rPo '(?<=#).*' /directory

相关内容