grep命令与正则表达式学习笔记

1.搜寻特定字符串

-a: 将binary档案以text档案得方式搜寻数据

-c: 计算找到‘搜寻字符串’得次数

-i: 忽略大小写得不同,所以大小写视为相同

-n: 顺便输出行号

-v:反向选择,亦即显示没有‘搜寻字符串’内容的那一行

2.字符组匹配

[]中包含的任意一个字符。只能是一个

字符组支持由连字符“-”来表示一个范围。当‘-’前后构成范围时,要求前面字符的码小于后面字符的码位。

[^...]排除型字符组。排除后面的字符。只是该字符前不存在而已,如[^g]ood,goooood任然可以匹配到

[abc]                    :表示“a” 或 “b”或“c”

[0-9]                     :表示0~9中任意一个数字

[\u4e00-\u9fa5]    :表示任意一个案子

[^a1<]                   :表示出“a”、“1”、“<”外的其他任意一个字符

[^a-z]                     :表示除小写字母外的任意一个字符

3.行首符:^与行尾符:$

grep -n '^[A-Z]' filename 查看以大写字母开头,grep -n '[^A-Z]' filename 则表示除了大写字母外的所有字符。

‘^$’查找空行,‘^#’查找注释,则通过-v反向选择可以实现过滤功能。

4.任意一个字符“.”(小数点)与重复字符“*”(星号)

.小数点表示任意一个字符,也只能表示一个未知字符。

*星号代表重复前面0个或者多个字符

e*:表示具有空字符或者一个以上e字符。

ee*:表示前面第一个e字符必须存在。第二个e则可以是0个或者多个字符。

eee*:同理,前面两个e必须存在

ee*e: 第一个和第三个e必须存在

5.限定连续字符范围{ }

由于shell中{与}有特殊意义,所有在需要使用的时候要用转义字符\

\{n,m\} 表示找出n到m个前一个RE字符

\{n,\} 表示n个以上的前一个RE字符

 

--------《鸟哥的linux私房菜》

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值