Unix 为什么我需要使用'-P';我什么时候给你一张单子?

Unix 为什么我需要使用'-P';我什么时候给你一张单子?,unix,grep,Unix,Grep,我正在使用-p选项来grep电话号码列表。使用此选项,我的结果非常好,但是没有它,列表不会返回。声明使用-P将“将模式解释为Perl正则表达式”。因为我不懂Perl,我只是在学习grep和regex,这对我来说不是很有意义 有简单的解释吗?没有-p选项grep将模式解释为一个基本的正则表达式,它们之间有很大的区别,例如使用元字符,如,?或。您必须调整您的regexp。grep可以使用3组正则表达式: -基本正则表达式 -扩展正则表达式 -兼容正则表达式 所有这些概念中的一些概念是相同的。例如

我正在使用-p选项来grep电话号码列表。使用此选项,我的结果非常好,但是没有它,列表不会返回。声明使用-P将“将模式解释为Perl正则表达式”。因为我不懂Perl,我只是在学习grep和regex,这对我来说不是很有意义


有简单的解释吗?

没有
-p
选项
grep
将模式解释为一个基本的正则表达式,它们之间有很大的区别,例如使用元字符,如
。您必须调整您的regexp。

grep可以使用3组正则表达式:

  • -基本正则表达式
  • -扩展正则表达式
  • -兼容正则表达式
所有这些概念中的一些概念是相同的。例如,字符类,如
[a-z]
[^0-9]
在所有字符类中都是相同的。另一方面,
vs
\(
)的含义,或者
+
是否具有特殊意义,取决于正则表达式的类别


这是一个很大的主题;太大了,在SO答案中很难涵盖。要了解更多信息,请参阅Jeff Freidl的书,以及正则表达式差异集的文档。

需要样本数据、grep目标以及好的和坏的输出样本来做出有意义的评论。请编辑您的问题,将其包括在内。祝您好运。因此,不需要我也在学习元字符。非常感谢你的帮助。