11.3-正则表达式

正则表达式与通配符

1.正则表达式用来在文件中匹配符合条件的字符串-包含匹配,命令如:grep、awk、sed等命令

2.通配符用来匹配符合条件的文件名-完全匹配,命令如:ls、find、cp等bash自建命令

通配符

1."*" 意为0到无穷大的任意字符

2."?" 意为一定存在的一个任意字符

3."[]"意为在中括号内的任意一个字符  

正则表达式

基础正则表达式

1."*" 前一个RE字符匹配0次或任意多次

2."." 匹配除换行符外任意一个RE字符

3."^" 标示行首

4."$" 标示行尾

5."[]"匹配中括号内的任意一个RE字符

6."[^]"反选中括号内RE字符

7."\" 转义RE字符

8.\{n\}前面RE字符恰好重复出现n次

9.\{n,\}前面RE字符重复出现不少于n次

10.\{n,m\}前面RE字符重复出现n至m次

部分扩展正则表达式

1."+" 重复一个或一个以上的前一个RE字符

2."?" 零个或一个前一个RE字符

3."|" 用或(or)的方式找出数个字符串

4."()"找出群组字符串

5."()+"找出一个至无穷多个连续群组

 

###搜寻不合格的MAC地址
[root@localhost ~]# echo "a1a:bb:cc:dd:ee:ff" | grep -v '^\([0-9a-fA-F]\{2\}:\)\{5\}\([0-9a-fA-F]\{2\}\)$'
[root@localhost ~]# echo "aa:bb:cc:dd:ee:ff" | grep -v '^\([0-9a-fA-F]\{2\}:\)\{5\}\([0-9a-fA-F]\{2\}\)$' [root@localhost ~]# echo "AA-BB-CC-DD-EE-FF" | egrep '(^([0-9a-fA-F]{2}:){5}([0-9a-fA-F]{2})$)|(^([0-9a-fA-F]{2}-){5}([0-9a-fA-F]{2})$)' 注释:在egrep中 {}不需要转义字符即可使用

 

posted @ 2019-08-28 17:59  FcBlogs  阅读(86)  评论(0编辑  收藏  举报