grep常用实例2019-11-7

grep命令用于搜索文本或指定的文件中与指定的字符串或模式相匹配的行,默认情况,grep命令只显示匹配的行.

grep家族

  • grep: 在文件中全局查找指定的正则表达式,并打印所有包含该表达式的行
  • egrep: 扩展的egrep,支持更多的正则表达式元字符
  • fgrep: 固定grep(fixed grep),有时也被称作快速(fast grep),它按字面解释所有的字符

grep使用的元字符

grep: 使用基本元字符集

^, $, ., *, [], [^], < >,(),{}, +, |

egrep(或grep -E): 使用扩展元字符集

?, +, { }, |, ( )

注:grep也可以使用扩展集中的元字符,仅需要对这些元字符前置一个反斜线

  • \w 所有字母与数字,称为字符[a-zA-Z0-9]
'l[a-zA-Z0-9]*ve'	        
'l\w*ve'
  • \W 所有字母与数字之外的字符,称为非字符
'love[^a-zA-Z0-9]+' 	    
'love\W+'
  • \b 词边界
'\<love\>'		           
'\blove\b'

grep选项

选项用途
-i, --ignore-case忽略大小写
-l, --files-with-matches只列出匹配行所在的文件名
-n, --line-number在每一行前面加上它在文件中的相对行号
-c, --count显示成功匹配的行数
-s, --no-messages禁止显示文件不存在或文件不可读的错误信息
-q, --quiet, --silent静默–quiet, --silent
-v, --invert-match反向查找,只显示不匹配的行
-R, -r, --recursive递归针对目录
–color颜色
-o, --only-matching只显示匹配的内容
-B, --before-context=NUMprint NUM lines of leading context
-A, --after-context=NUMprint NUM lines of trailing context
-C, --context=NUMprint NUM lines of output context

grep 示例

grep -E 或 egrep

# egrep 'NW' datafile
# egrep 'NW' d*	
# egrep '^n' datafile
# egrep '4$' datafile
# egrep TB Savage datafile
# egrep 'TB Savage' datafile
# egrep '5\..' datafile	
# egrep '\.5' datafile		
# egrep '^[we]' datafile
# egrep '[^0-9]' datafile	
# egrep '[A-Z][A-Z] [A-Z]' datafile
# egrep 'ss* ' datafile		
# egrep '[a-z]{9}' datafile
# egrep '\<north' datafile
# egrep '\<north\>' datafile	
# egrep '\<[a-r].*n\>' datafile
# egrep '^n\w*\W' datafile	
# egrep '\bnorth\b' datafile
# egrep 'NW|EA' datafile
# egrep '3+' datafile
# egrep '2\.?[0-9]' datafile	
# egrep '(no)+' datafile
# egrep 'S(h|u)' datafile
# egrep 'Sh|u' datafile
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值