Linux正则表达式

  • grep 显示匹配行(print lines matching a pattern)。

-v  反显示

-e  使用扩展正则表达式

  • 匹配操作符

                转义字符

.                    匹配任意单个字符

[1249a][^12],[a-k]  字符序列单字符占位

^                 行首

$                  行尾

\<,\>,\<abc           单词首尾边界

                  连接操作符

(,)              选择操作符

\n           反向引用

  

  • 重复操作符:

–?        匹配0到1次。

–*        匹配0到多次。

–+       匹配1到多次。

–{n}     匹配n次。

–{n,}    匹配n到多次。

–{n,m}      匹配n到m次。

  • 与扩展正则表达式的区别:grep basic

–\?, \+, \{, \|, \(, and \)

  • 匹配任意字符

.*

示例:

[root@CentOS64 ~]# vi test

      1 aabbcaaa
      2 aa bbc aaa
      3 bb bbc bbb
      4 asgodssgoodsssagodssgood
      5 asgodssgoodsssagoodssgod
      6 sdlkjflskdjf3slkdjfdksl
      7 slkdjf2lskdjfkldsjl
  • 查询包含a的所有行
[root@CentOS64 ~]# grep "a" test
aabbcaaa
aa bbc aaa
asgodssgoodsssagodssgood
asgodssgoodsssagoodssgod
  • 查询包含aaa的行
[root@CentOS64 ~]#  grep "a\{3\}" test   或者为(E代表扩展) grep -E "a{3}" test 
aabbcaaa
aa bbc aaa
  • 包含左边界为aa的单词的行
[root@CentOS64 ~]# grep "\<aa" test
aabbcaaa
aa bbc aaa
  • 包含单词aaa的行
[root@CentOS64 ~]# grep  "\<aaa\>"  test
aa bbc aaa
  • 单词中b至少重复2次,至多重复3次
[root@CentOS64 ~]# grep  "b\{2,3\}" test 
aabbcaaa
aa bbc aaa
bb bbc bbb
  • 取出第四行
[root@CentOS64 ~]# grep ".*god.*good.*god.*good.*" test
asgodssgoodsssagodssgood
  • 反向引用,取出第四行。1对应第一个括号,2对应第二个括号
[root@CentOS64 ~]# grep ".*\(god\).*\(good\).*\1.*\2" test
asgodssgoodsssagodssgood

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值