grep 正则表达式查找

1.grep参数说明:

-a :将 binary 档案以 text 档案的方式搜寻数据
-c :计算找到 ‘搜寻字符串’ 的次数
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 ‘搜寻字符串’ 内容的那一行!

2.字符组匹配

  • []中包含的任意一个字符。只能是一个。
  • 字符组支持由连字符“ - ”来表示一个范围。当“ - ”前后构成范围时,要求前面字符的码位小于后面字符的码位。
  • [^…] 排除型字符组。排除后面的字符。
[abc]           :表示“a”或“b”或“c”
[0-9]           :表示 0~9 中任意一个数字,等价于[0123456789]
[\u4e00-\u9fa5] :表示任意一个汉字
[^a1<]          :表示除“a”、“1”、“<”外的其它任意一个字符
[^a-z]          :表示除小写字母外的任意一个字符
# 查找“tast”或者“test”两个字符串。
grep -n 't[ae]st' regular_express.txt 
# 查找不包含“#”的字符串
grep -n '[^#]' regular_express.txt 

总结:

表达式含义
^word表示带搜寻的字符串(word)在行首
word$表示带搜寻的字符串(word)在行尾
.(小数点)表示 1 个任意字符
\表示转义字符,在特殊字符前加\会将特殊字符意义去除
*表示重复 0 到无穷多个前一个 RE(正则表达式)字符
[list]表示搜索含有 l,i,s,t 任意字符的字符串
[n1-n2]表示搜索指定的字符串范围,例如[0-9] [a-z] [A-Z]等
[^list]表示反向字符串的范围,例如[0-9]表示非数字字符,[A-Z]表示非大写字符范围
{n,m}表示找出 n 到 m 个前一个 RE 字符
{n,}表示 n 个以上的前一个 RE 字符
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值