正则表达式在每种语言中都会有,功能就是匹配符合你预期要求的字符串。
Shell正则表达式分为两种:
基础正则表达式:BRE(basic regular express)
扩展正则表达式:ERE(extend regular express),扩展的表达式有+、?、\|和()
下面是一些常用的正则表达式符号,我们先拿grep工具举例说明。
符号 | 描述 | 示例 |
---|---|---|
. | 匹配除换行符(\n)之外的任意单个字符 | 匹配123: echo -e “123\n456” |grep ‘1.3’ |
^ | 匹配前面字符串开头 | 匹配以abc开头的行: echo -e “abc\nxyz” |grep ^abc |
$ | 匹配前面字符串结尾 | 匹配以xyz结尾的行: echo -e “abc\nxyz” |grep xyz$ |
* | 匹配前一个字符零个或多个 | 匹配x、xo和xoo: echo -e “x\nxo\nxoo\no\noo” |gr |