linux egrep和grep区别,Linux grep和egrep,fgrep的区别

Linux grep和egrep,fgrep的区别

阅读数:10981

例子:

:

格式: grep [option] pattern filename 注意: pattern如果是表达式或者超过两个单词的, 需要用引号引用. 可以是单引号也可双引号, 区别是单引号无法引用变量而双引号可以.

grep '\' file 包含单词Tom的行

grep 'Tom savage' file 包含Tom savage的行

grep '^Tommy' file 包含以Tommy开头的行

grep '.bak$' file 包含以.bak结束的行

grep '[Pp]yramid' file 包含pyramid 或Pyramid的单词的行

grep '[A-Z]' file 包含至少一个大写字母的行

grep '[0-9]' file 包含至少一个数字的行

grep '[A-Z]...[0-9]' file 包含五个字符,以大写开头, 和一个数字结尾的行.

grep -w '[tT]est' file 包含单词和test的行.

grep -s 'ken sun' file 找到包含ken sun的行, 但不打印行, 而是用来检查退出状态.

grep -v aaa file 打印不包含aaa的行.

grep -i cathy file 打印所有包含cathy的行, 而不考虑大小些.

grep -l 'dear cathy' * 打印包含dear cathy的文件的文件名清单.

grep -n tom file 打印匹配的行并追加行号.

grep "$LOGNAME" file 包含变量内容的行, 注意必须用双引号, 单引号则无法引用变量.

grep '$name' file 打印包含字符$name的行.

2 : egrep = grep -E 可以使用基本的正则表达外, 还可以用扩展表达式. 注意区别.

扩展表达式:

匹配一个或者多个先前的字符, 至少一个先前字符.

? 匹配0个或者多个先前字符.

a|b|c 匹配a或b或c

() 字符组, 如: love(able|ers) 匹配loveable或lovers.

(..)(..)\1\2 模板匹配. \1代表前面第一个模板, \2代第二个括弧里面的模板.

x{m,n} =x{m,n} x的字符数量在m到n个之间.

egrep '^+' file 以一个或者多个空格开头的行.

grep '^' file 同上

egrep '(TOM|DAN) SAVAGE' file 包含 TOM SAVAGE 和DAN SAVAGE的行.

egrep '(ab)+' file 包含至少一个ab的行.

egrep 'x[0-9]?' file 包含x或者x后面跟着0个或者多个数字的行.

egrep 'fun.$' 所有文件里面以fun.结尾的行.

egrep '[A-Z]+' file 至少包含一个大写字母的行.

egrep '[0-9]' file 至少一个数字的行.

egrep '[A-Z]...[0-9]' file 有五个字符, 第一个式大写, 最后一个是数字的行.

egrep '[tT]est' file 包含单词test或Test的行.

egrep 'ken sun' file 包含ken sun的行.

egrep -v 'marry' file 不包含marry的行.

egrep -i 'sam' file 不考虑sam的大小写,含有sam的行.

egrep -l "dear ken" * 包含dear ken的所有文件的清单.

egrep -n tom file 包含tom的行, 每行前面追加行号.

egrep -s "$name" file 找到变量名$name的, 不打印而是显示退出状态. 0表示找到. 1表示表达式没找到符合要求的, 2表示文件没找到.

3 fgrep 很简单就是固化表达式的搜索.如:

fgrep "$name...[a-z]" file 就是在file里面找到和字符$name...[a-z]一样的行. 其中$和...等没有转义的意义.

http://hi.baidu.com/sei_zhouyu/item/c18e1a950d2e9eb5cc80e558

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值