shell(八)

上篇地址
下篇地址

正则表达式

正则表达式是一种文本模式匹配, 包括普通字符(例如,az之间的字母)和特殊字符(称为”元字符”)。它是一种字符串匹配的模式,可以用来检查一个字符串是否含有某种子串、将匹配的子串替换或者从某个字符串中取出某个条件的子串。

定位符说明
^锚定开头 ^a 以a开头 默认锚定一个字符
$锚定结尾 a$ 以a结尾 默认锚定一个字符

如果:^$一起使用则表示精确匹配,比如:^ab$,表示去某个文本中找符合ab的字符串,且是精确匹配。

查找以a开头的字符串:

egrep “^a” file

查找以c结尾的字符串:

egrep “c$” file

精确查找,查找ac字符串

egrep “^ac$” file,等同于egrep “ac” file

匹配符说明:
匹配符说明
.(点)匹配除回车以外的任意一个字符
( )字符串分组
[ ]定义字符类,匹配括号中的一个字符,匹配的字符串来自括号中
[ ^ ]表示否定括号中出现字符类中的字符,取反
\转义字符,将shell中特殊字符,转义成一般字符
|

a开头,c结尾,中间是任意一个字符:abcacc

egrep “^a.c$” file

中间字符来自0-9数字,a0c

egrep “^a[0-9]c$” file

中间字符,非0-9数字,aac

egrep “^a[ ^0-9]c$” file

转义字符:此时就真正表示*号,a*c

egrep “^a \ *c$” file

或字符:以a开头或者b开头,a0c a0b

egrep “^(a|b)c$” file

限定符说明,限定字符串出现的次数
限定符说明
*某个字符之后加星号表示该字符不出现或出现多次
与星号相似,但略有变化,表示该字符出现一次或不出现
+与星号相似,表示其前面字符出现一次或多次,但必须出现一次
{n,m}某个字符之后出现,表示该字符最少n次,最多m次
{m}正好出现了m次

a开头 c结尾 中间是有b或者没有b长度不限的字符串:ac abbc

egrep “^ab*c$” file

a开头 c结尾 中间只出现一次b或者没有b的字符串:abc ac

egrep “^ab?c$” file

a开头c结尾 中间是有b且至少出现一次 长度不限的字符串:abbc abc

egrep “^ab+c$” file

以a开头 c结尾 中间是有b且至少出现两次最多出现四次 长度不限的字符串:abbc abbbc

egrep “^ab{2,4}c$” file

以a开头 c结尾 中间是有b且正好出现三次的字符串:abbbc

egrep “^ab{3}c$” file

以a开头 c结尾 中间是有b且至少出现一次的字符串:abbc abbbc

egrep “^ab{1,}c$” file

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值