grep,egrep和fgrep有什么区别?

维斯瓦纳特·达尔维(Vishwanath Dalvi)

谁能告诉我之间的技术差异grepegrep以及fgrep提供合适的例子吗?

什么时候需要使用grepover egrep,反之亦然?

卡列布

从历史上看,这些开关是在单独的二进制文件中提供的。在某些非常老的Unix系统上,您会发现需要调用单独的二进制文件,但是在所有现代系统上,交换机是首选。grep的手册页上有关于此的详细信息。

至于它们的作用,-E将grep切换到特殊模式,以便将表达式评估为ERE(扩展正则表达式),而不是其常规模式匹配。有关此语法的详细信息,请参见手册页。

-E, --extended-regexp
将PATTERN解释为扩展的正则表达式

-F开关切换的grep进入它接受匹配模式,但随后拆分该图案成每行一个搜索字符串并执行一个或任何字符串的搜索而不做任何特殊模式匹配不同的模式。

-F, --fixed-strings
将PATTERN解释为由换行符分隔的固定字符串列表,其中任何一个都将被匹配。

以下是一些示例方案:

  • 您有一个文件,其中包含以纯文本形式显示的十个Unix用户名列表。您要搜索计算机上的组文件,以查看列出的十个用户中是否有任何特定的组:

    grep -F -f user_list.txt /etc/group
    

    -F开关在此处提供帮助的原因是,模式文件中的用户名被解释为纯文本字符串。例如,点将被解释为点而不是通配符。

  • 您想使用花哨的表达式进行搜索。例如,括号()可以用来指示|用作OR运算符的组。您可以使用-E以下命令运行此搜索

    grep -E '^no(fork|group)' /etc/group
    

    ...返回以“ nofork”或“ nogroup”开头的行。如果没有-E切换,您将不得不转义涉及的特殊字符,因为使用常规模式匹配,它们将仅搜索该确切模式。

    grep '^no\(fork\|group\)' /etc/group
    

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

grep,pgrep,egrep,fgrep有什么区别?

来自分类Dev

grep、fgrep 和 egrep 之间的差异

来自分类Dev

grep -e和grep -E选项有什么区别?

来自分类Dev

grep -r和-R有什么区别

来自分类Dev

gcc和dpkg -l有什么区别?grep gcc

来自分类Dev

“ hg grep”和“ hglocate”有什么区别?

来自分类Dev

PCRE grep中`\b`和`\S`有什么区别?

来自分类Dev

“ as?”,“ as!”和“ as”有什么区别?

来自分类Dev

$ *和$ @有什么区别

来自分类Dev

$和〜有什么区别?

来自分类Dev

/ * ... * /和/ ** ... * /有什么区别

来自分类Dev

!=和<>有什么区别?

来自分类Dev

ö和ö有什么区别?

来自分类Dev

$ *和$ @有什么区别?

来自分类Dev

“ ==”和“ =〜”有什么区别?

来自分类Dev

= +和+ =有什么区别

来自分类Dev

$ @和$ *有什么区别

来自分类Dev

+ =和+有什么区别?

来自分类Dev

$ _和!$有什么区别?

来自分类Dev

\ 和 \\ 有什么区别

来自分类Dev

grep apple文件和grep“ apple”文件有什么区别?

来自分类Dev

grep apple文件和grep“ apple”文件有什么区别?

来自分类Dev

命令“ wc`grep -l int *`”和“ grep -l int * | wc”之间有什么区别?

来自分类Dev

&&和||和有什么区别?

来自分类Dev

`my($ h,@s)= @_;`和`my($ h,@s)= grep $ _,@_;有什么区别?

来自分类Dev

!= null和!== null有什么区别?

来自分类Dev

ConnectEx和_ConnectEx有什么区别?

来自分类Dev

LDADD和LIBADD有什么区别?

来自分类Dev

tempfile和mktemp有什么区别?