正则表达式
2018-08-06 09:00:37来源:博客园 阅读 ()
第1章 正则表达式
1.1 正则表达式
查找文本内容,快速过滤
1.2 正则表达式分类
1.2.1 基础正则
^ 以…...开头的行 ^m $ 以…...结尾的行 m$ ^$ 空行(什么符号都没有) . 任意一个字符,不会匹配空行 \ (撬棍)转义字符 * 前一个字符连续出现0次或0次以上 .* 所有字符,包括空行 [] 相当于一个符号,每次匹配1个字符 [abc] 找出包含a或b或c [^] 排除,排除[]里的每一个字符 [^abc] 找出除了a或除了b或除了c外
1.2.2 扩展正则
+ 前一个字符连续出现1次或1次以上 | 或者 () 表示一个整体 sed反向引用/后向引用 {} 0{n,m} 数字0连续出现了至少n次,最多m次 ? 前一个字符连续出现0次或1次 前一个字符有或没有
1.3 基础正则与扩展正则的区别
1.3.1 符号不同
基础正则: ^ $ ^$ . .* [] [^]
扩展正则: + | () {} ?
1.3.2 支持的命令不同
基础正则:grep sed awk
扩展正则:egrep(grep -E) sed –r awk
1.4 ^ 以....开头的行 ^m
[root@oldboyedu50-lnb /oldboy]# grep '^m' oldboy.txt my blog is http://oldboy.blog.51cto.com my qq is 49000448 my god ,i am not oldbey,but OLDBOY!
1.5 $ 以….结尾的行 $
cat -A 显示文件中所有符号 每行结尾都会有个$ [root@oldboyedu50-lnb /oldboy]# grep ' $' oldboy.txt my blog is http://oldboy.blog.51cto.com our size is http://blog.oldboyedu.com
1.6 . 任意一个字符,不会匹配空行
[root@oldboyedu50-lnb /oldboy]# grep '.' oldboy.txt grep –o grep命令执行过程 [root@oldboyedu50-lnb /oldboy]# grep -o '.' oldboy.txt
1.7 + 前一个字符连续出现1次或1次以上
[root@oldboyedu50-lnb /oldboy]# egrep '0+' oldboy.txt my qq is 49000448 not 4900000448.
1.8 | 或者
[root@oldboyedu50-lnb /oldboy]# egrep 'oldboy|linux' oldboy.txt I am oldboy teacher! I teach linux. my blog is http://oldboy.blog.51cto.com our size is http://blog.oldboyedu.com
1.9 - () 表示一个整体 反向引用/后向引用
1.9.1 表示一个整体
[root@oldboyedu50-lnb /oldboy]# egrep 'oldb(o|e)y' oldboy.txt I am oldboy teacher! my blog is http://oldboy.blog.51cto.com our size is http://blog.oldboyedu.com my god ,i am not oldbey,but OLDBOY!
1.9.2 反向引用/后向引用
[root@oldboyedu50-lnb /oldboy]# echo 123456|sed -r 's#(.*)#<\1>#g' <123456> \1 表示第一个括号
1.10 {} 0{n,m} 数字0连续出现了至少n次,最多m次
[root@oldboyedu50-lnb /oldboy]# egrep '0{3,4}' oldboy.txt my qq is 49000448 not 4900000448. [root@oldboyedu50-lnb /oldboy]# cat id.txt 金 211324198705244720 万 500224197105168312 任 1231231231oldboy 任 3oldboy 任 lidao97303136098 任 alex2197303136098 任 350182197303oldgir 吕 211282199209113038 孔 150000198309176071 邹 371001197412221284 贺 130185200011215926 杜 362522198711278101 向 14052219961008852X [root@oldboyedu50-lnb /oldboy]# egrep '[0-9X]{18}' id.txt 金 211324198705244720 万 500224197105168312 吕 211282199209113038 孔 150000198309176071 邹 371001197412221284 贺 130185200011215926 杜 362522198711278101 XXXXXXXXXXXXXXXXXX 向 14052219961008852X [root@oldboyedu50-lnb /oldboy]# egrep '[0-9]{17}[0-9X]' id.txt 金 211324198705244720 万 500224197105168312 吕 211282199209113038 孔 150000198309176071 邹 371001197412221284 贺 130185200011215926 杜 362522198711278101 向 14052219961008852X
第2章 取出eth0网卡的ip地址
2.1 方法1
[root@oldboyedu50-lnb /oldboy]# ip a s eth0 |awk 'NR==3'|awk -F"[ /]+" '{print $3}' 10.0.0.200 [root@oldboyedu50-lnb /oldboy]#
2.2 取出ifconfig eth0 ip地址和子网掩码
[root@oldboyedu50-lnb /oldboy]# ifconfig eth0 |awk 'NR==2' |awk -F"[ :]+" '{print $4,$NF}' 10.0.0.200 255.255.255.0
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:mail邮箱
下一篇:CentOS7.5修改字符集
- 正则表达式与通配符 2020-04-23
- Shell笔记:正则表达式 2020-04-19
- 正则表达式 2020-03-30
- 精通awk系列(16):gawk支持的正则表达式 2019-12-08
- [Linux] shell中for循环grep正则统计指定关键字 2019-11-22
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash