美文网首页
shell中的正则表达式

shell中的正则表达式

作者: 枕梦_a280 | 来源:发表于2019-02-01 17:11 被阅读0次

基本正则

1 元字符
"." 匹配任意单个字符
"[ ]" 匹配指定范围内的任意单个字符
"[^]" 匹配指定范围外的任意单个字符
一些字符集合
"[:digit:]" 表示数字
"[:lower:]" 表示小写字母
"[:upper:]" 表示大写字母
"[:punct:]" 标点符号
"[:space:]" 空白
"[:alpha:]" 所有字母
"[:alnum:]" 所有数字和字母
"[:blank:]" 空格和制表符
2 匹配次数
"*" 匹配其前的字符任意次
".*" 匹配任意长度的任意字符
"\?" 匹配其前的字符0次或1次
"\{m,n\}" 匹配其前的字符至少m次,最多n次
"\{n\}" 匹配其前的字符n次
"\{n,\}" 匹配其前的字符至少n次
3 位置锚定
"^" 锚定行首,此符号之后的任意字符必须出现在行首
"$" 锚定行尾,此符号之前的任意字符必须出现在行尾

^$ 表示空白行

"\<或\b" 表示其后的任意字符必须作为单词的首部出现
"\>或\b" 表示其前的任意字符必须作为单词的尾部出现
4 分组
"\(\)"
案例 过滤得到包含oo整体的行并在第一个匹配到的oo后面加888数字

sed -n 's/\(oo\)/\1888/p' /etc/passwd
roo888t:x:0:0:root:/root:/bin/bash
lp:x:4:7:lp:/var/spoo888l/lpd:/sbin/nologin
mail:x:8:12:mail:/var/spoo888l/mail:/sbin/nologin
operator:x:11:0:operator:/roo888t:/sbin/nologin
setroubleshoo888t:x:994:991::/var/lib/setroubleshoot:/sbin/nologin
postfix:x:89:89::/var/spoo888l/postfix:/sbin/nologin

扩展正则

1 次数匹配
"*" 匹配其前的字符任意次
"?" 匹配其前的字符0次或1次
"+" 匹配其前的字符至少一次
"{m,n}" 匹配其前的字符至少m次,最多n次
"{n}" 匹配其前的字符n次
"{n,}" 匹配其前的字符至少n次
2 分组
"()"
3 或者
"a|b"
案例

(C|c)at 表示匹配Cat或者cat

perl内置正则

"\d" 表示数字
"\w" 匹配一个字母、数字或下划线字符,相当于[a-zA-Z_0-9]
"\s" 匹配一个空字符
"\b" 匹配单词的首尾
通过grep -P来使用
案例 过滤/etc/passwd中的所有数字

[root@lz1 ~]# grep -P "\d" /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
... ...

相关文章

  • shell命令

    关于shell命令的小记: 1. shell命令grep -E 后可加入正则表达式匹配,python中可用\s匹配...

  • 目录

    shell 一、 初识shell二、 shell变量三、 正则表达式四、 认识脚本和shell判断表达式五、she...

  • Shell编程、part4

    本节内容 1. shell函数 2. shell正则表达式 shell函数 shell中允许将一组命令集合或语句形...

  • shell-13 正则表达式

    shell也支持正则表达式,但不是所有的命令都支持正则表达式,常见的的命令中只有grep、sed、awk命令支持正...

  • Shell中的匹配

    shell支持的通配符shell支持一组通配符用于处理数据,但是要和正则表达式区别开来。shell的通配符实现的功...

  • shell中的正则表达式和通配符

    shell中的正则表达式和通配符 正则表达式 正则表达式包含以下一个或多个组成部分 字符集:一组字符 锚:表领了正...

  • shell快讲第二节--管道与重定向

    shell快讲第一节--shell基础shell快讲第二节--管道与重定向shell快讲第三节--正则表达式she...

  • shell快讲第一节--shell基础

    shell快讲第一节--shell基础shell快讲第二节--管道与重定向shell快讲第三节--正则表达式she...

  • shell快讲第六节--shell函数编程

    shell快讲第一节--shell基础shell快讲第二节--管道与重定向shell快讲第三节--正则表达式she...

  • shell编程第七节--shell编程规范与调试

    shell快讲第一节--shell基础shell快讲第二节--管道与重定向shell快讲第三节--正则表达式she...

网友评论

      本文标题:shell中的正则表达式

      本文链接:https://www.haomeiwen.com/subject/blsdsqtx.html