linux 文本搜索命令 grep egrep fgrep 区别

grep

传统的 grep 程序, 在没有参数的情况下, 只输出符合 RE 字符串之句子. 常见参数如下:

-v: 逆反模示, 只输出”不含” RE 字符串之句子.

-r: 递归模式, 可同时处理所有层级子目录里的文件.

-q: 静默模式, 不输出任何结果(stderr 除外. 常用以获取 return value, 符合为 true, 否则为 false .)

-i: 忽略大小写.

-w: 整词比对, 类似 <word> .

-n: 同时输出行号.

-c: 只输出符合比对的行数.

-l: 只输出符合比对的文件名称.

-o: 只输出符合 RE 的字符串. (gnu 新版独有, 不见得所有版本都支持.)

-E: 切换为 egrep .

egrep

为 grep 的扩充版本, 改良了许多传统 grep 不能或不便的操作. 比方说:

  • grep 之下不支持 ? 与 + 这两种 modifier, 但 egrep 则可.
  • grep 不支持 a|b 或 (abc|xyz) 这类”或一”比对, 但 egrep 则可.
  • grep 在处理 {n,m} 时, 需用 { 与 } 处理, 但 egrep 则不需.

    诸如此类的… 我个人会建议能用 egrep 就不用 grep

fgrep

不作 RE 处理, 表达式仅作一般字符串处理, 所有 meta 均失去功能.

选项解释

In  addition,  three  variant  programs  egrep,  fgrep  and  rgrep  are
available.   egrep  is  the  same  as  grep -E.   fgrep  is the same as
grep -F.  rgrep is the same as grep -r.  Direct  invocation  as  either
egrep  or  fgrep  is  deprecated,  but  is provided to allow historical
applications that rely on them to run unmodified.

-E, --extended-regexp
       Interpret  PATTERN  as  an extended regular expression_r(ERE, see
       below).  (-E is specified by POSIX.)

-F, --fixed-strings
       Interpret PATTERN as a  list  of  fixed  strings,  separated  by
       newlines,  any  of  which is to be matched.  (-F is specified by
       POSIX.)

机译:

此外,还有三个变体程序,例如egrep,fgrep和rgrep可用。 egrep与grep -E相同。 fgrep与grep -F。 rgrep与grep -r相同。 可以直接调用egrep或fgrep已弃用,但提供以允许历史记录依赖它们运行的​​应用程序无需修改。


-E,-extended-regexp
将PATTERN解释为扩展的正则表达式_r(ERE,请参见下面)。 (-E由POSIX指定。)


-F,-固定字符串
将PATTERN解释为固定字符串列表,并以换行符,任何要匹配的。 (-F由POSIX。)

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值