加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式中的逆向思维

发布时间:2020-12-14 06:46:39 所属栏目:百科 来源:网络整理
导读:人们的正常思维都是顺向的,那么逆向思维呢,特别是初学正则表达式的同学们,好不容易掌握了正则表达式的用法,再突然要你用逆向思维做题,会有很多不适应: 这里拿三道题,来做简单介绍: 1、经典例题取IP: [root@oldboyedu-39 ~]# ifconfig eth0|sed -nr

人们的正常思维都是顺向的,那么逆向思维呢,特别是初学正则表达式的同学们,好不容易掌握了正则表达式的用法,再突然要你用逆向思维做题,会有很多不适应:

这里拿三道题,来做简单介绍:

1、经典例题取IP:

[root@oldboyedu-39 ~]# ifconfig eth0|sed -nr '2s#^[^0-9]+(.*)[a-Z]{5,}.*#1#gp'

10.0.0.200

2、调换/etc/passwd中最后一列和第一列的位置:

[root@oldboyedu-39 ~]# head /passwd.txt|sed -r 's#(^[^:]+)(.*:)(.*)#321#g'

/bin/bash:x:0:0:root:/root:root

/sbin/nologin:x:1:1:bin:/bin:bin

/sbin/nologin:x:2:2:daemon:/sbin:daemon

/sbin/nologin:x:3:4:adm:/var/adm:adm

/sbin/nologin:x:4:7:lp:/var/spool/lpd:lp

/sbin/nologin:x:4:7:lp:/var/spool/lpd:AzaA

3、

[root@oldboyedu-39 ~]# cat ip.log

10.0.0.1 oldboy

10.0.0.2 oldgirl

10.0.0.3 bingbing

10.0.0.4 tingting

10.0.0.4 oldboy

将属于oldboy的第一列打印出来:

[root@oldboyedu-39 ~]# sed -rn '/oldboy/s#(^[^ ]+).*#1#gp' ip.log

10.0.0.1

10.0.0.4

以上是正则表达式的几个逆向思维的经典案例,欢迎大家拍砖。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读