Shell脚本正则表达式(grep,sed,awk三剑客)

一、正则表达式

1.1正则表达式:

是使用单个字符串来描述、匹配一系列符合某个句法规则的字符串,简单来说,是一种匹配字符串的方法,通过一些特殊符号,实现快速查找、删除、替换某个特定字符串。正则表达式是由普通字符与元字符组成的文字模式

1.2用途:

正在表达式对于系统管理员来说是非常重要的,系统运行过程中会产生大量的信息,这些信息有些事非常重要的,有些则只是告知的信息,身为系统管理员如果直接看这么多的信息数据,无法快速定位到重要的信息,如“用户登录失败”等信息,这是可以通过正则表达式快速提取有问题的信息,如此一来,可以将运维工作变得更佳简单、方便

1.3分类:

正则表达式的字符串表达方法根据不同的严谨程度与功能分为基本正则表达式与扩展正则表达式,基础正则表达式是常用正则表达式最基础的部分,再Linux系统中常见的文件处理工具中grep与sed支持基础正则表达式,而egrep与awk支持正则表达式。

二、基础正则表达式

grep的使用规则:
-n 表示显示行号
-I 表示不区分大小写
-v 表示过滤
[ ] 查找集合字符

2.1查找包含the的字符(准备一个查找文件)
grep -n ‘the’ test.txt

2.2不区分大小写查找包含the的字符
grep -in ‘the’ test.txt

2.3不查找包含the的字符
grep -vn ‘the’ test.txt

2.4利用中括号[ ]来查找集合字符
grep -n ‘sh[io]t’ test.txt

2.5查找包含重复单个字符oo时
grep -n ‘oo’ test.txt

2.6若查找oo前面不是w的字符串
grep -n ‘[^w]oo’ test.txt

2.7若不希望oo前面存在小写字母
grep -n ‘[^a-z]oo’ test.txt

2.8查询以小写字母开头的行
grep -n ‘1’ test.txt
2.9查询不以字母开头的行
grep -n ‘2’ text.txt
2.10查询以.结尾的行
grep -n ‘.$’ test.txt

2.11若想要查询oo、ooo、oooo等字符串,则需要使用星号()元字符等,o表示拥有零个或任意多个o字符,如果时“oo”,则第一个o必须存在,后面的o表示零个或任意多个o字符*
grep -n ‘ooo
’ test.txt

2.12查询以w开头d结尾,中间至少一个o
grep -n ‘woo*d’ test.tx

2.13查询以w开头d结尾,中间字符可有可无
grep -n ‘w.*d’ test.txt

2.14查询两个o的字符
grep -n ‘o{2}’ test.txt

2.15查询以w开头d结尾,中间包含两个及两个以上o

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值