M20-1扩展正则表达式作业

1、取本机ip地址

[root@centos6 ~]# ifconfig
eth1      Link encap:Ethernet  HWaddr 00:0C:29:35:DD:AB
          inet addr:10.1.253.95  Bcast:10.1.255.255  Mask:255.255.0.0
          inet6 addr: fe80::20c:29ff:fe35:ddab/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:378023 errors:0 dropped:0 overruns:0 frame:0
          TX packets:12444 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:46926222 (44.7 MiB)  TX bytes:1240063 (1.1 MiB)
eth2      Link encap:Ethernet  HWaddr 00:0C:29:35:DD:B5
          inet addr:192.168.226.135  Bcast:192.168.226.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe35:ddb5/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2539 errors:0 dropped:0 overruns:0 frame:0
          TX packets:225 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:281133 (274.5 KiB)  TX bytes:39650 (38.7 KiB)
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
[root@centos6 ~]# ifconfig |awk -F '[: ]+' 'NR==2{print $4}'
10.1.253.95
[root@centos6 ~]# ifconfig
eth1      Link encap:Ethernet  HWaddr 00:0C:29:35:DD:AB
          inet addr:10.1.253.95  Bcast:10.1.255.255  Mask:255.255.0.0
          inet6 addr: fe80::20c:29ff:fe35:ddab/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:379965 errors:0 dropped:0 overruns:0 frame:0
          TX packets:12615 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:47097014 (44.9 MiB)  TX bytes:1264173 (1.2 MiB)

eth2      Link encap:Ethernet  HWaddr 00:0C:29:35:DD:B5
          inet addr:192.168.226.135  Bcast:192.168.226.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe35:ddb5/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2541 errors:0 dropped:0 overruns:0 frame:0
          TX packets:227 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:281535 (274.9 KiB)  TX bytes:40052 (39.1 KiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

[root@centos6 ~]# ifconfig |head -2
eth1      Link encap:Ethernet  HWaddr 00:0C:29:35:DD:AB
          inet addr:10.1.253.95  Bcast:10.1.255.255  Mask:255.255.0.0
[root@centos6 ~]# ifconfig |head -2 |sed -r 's/^.*addr:(.*)  Bca.*$/\1/g'
eth1      Link encap:Ethernet  HWaddr 00:0C:29:35:DD:AB
10.1.253.95
[root@centos6 ~]# ifconfig |head -2|tail -1 |tr -s ' ' ':' |cut -d: -f4
10.1.253.95
[root@centos6 ~]#

1.1、取出本机所有的IP地址

[root@centos6 ~]# ifconfig |tr -cs '[:digit:].' '\n'|sort -t. -k4|tail -8
255.0.0.0
255.255.0.0
255.255.255.0
127.0.0.1
192.168.226.135
10.1.255.255
192.168.226.255
10.1.253.95
[root@centos6 ~]#

2、取各分区利用率的数值

[root@centos6 ~]# df |grep "sd.*"
/dev/sda3      121455724 3990720 111288700   4% /
/dev/sda1         194241   34082    149919  19% /boot
/dev/sdb        20511356   44992  19417788   1% /mnt
[root@centos6 ~]# df |grep "sd.*"|tr -s ' ' ':'
/dev/sda3:121455724:3990720:111288700:4%:/
/dev/sda1:194241:34082:149919:19%:/boot
/dev/sdb:20511356:44992:19417788:1%:/mnt
[root@centos6 ~]# df |grep "sd.*"|tr -s ' ' ':'|cut -d: -f1,5
/dev/sda3:4%
/dev/sda1:19%
/dev/sdb:1%
[root@centos6 ~]# df |grep "sd.*"|tr -s ' ' ':'|cut -d: -f1,5|sort -nr
/dev/sdb:1%
/dev/sda3:4%
/dev/sda1:19%
[root@centos6 ~]#

3、统计/etc/init.d/functions 文件中每个单词出现的次数,并按频率从高到低显示

[root@centos6 ~]# cat /etc/init.d/functions |tr -cs '[:alpha:]' '\n'|sort|uniq -c |sort-nr
     83 if
     77 then
     75 pid
     73 echo
     72 fi
     61 return
     57 dev
     54 file
     50 n
     46 local

4、/etc/rc.d/init.d/functions或/etc/rc.d/init.d/functions/"  取目录名

[root@centos6 ~]# echo "/etc/init.d/functions"|sed -r 's#^(/.*/)[^/]+/?#\1#g'
/etc/init.d/
[root@centos6 ~]#

4.1、/etc/rc.d/init.d/functions或/etc/rc.d/init.d/functions/"  取基名

[root@centos6 ~]# echo "/etc/init.d/functions/"|sed -r 's#/.*/([^/]+)#\1#g'
functions/
[root@centos6 ~]#

5、正则表达式表示身份证号

egrep "\<((1[1-5])|(2[1-3])|(3[1-7])|(4[1-6])|(5[0-4])|(6[1-5])|(71|81|82))([0-9]){4}(19|20)([0-9]){2}((0[1-9])|(1[0-2]))(0[1-9]|([0-9])|(2[0-9])|(3[0-1]))([0-9]){3}([0-9]|X)\>" filename

6、正则表达式表示手机号

grep -E -o "(\+86)?1[38][0-9]{9}|14[57][0-9]{8}|15[0-35-9][0-9]{8}|17[0678][0-9]{8}" phonenumber

7、正则表达式表示邮箱

egrep "\<([[:alnum:]]+(-|_)*[[:alnum:]]*)\>@([[:alnum:]]+\.)+[[:alnum:]]+" mail 
grep -E -o '[a-zA-Z0-9]+[[:alnum:]\.\_-]*@[a-zA-Z0-9]+[[:alnum:]\.\_-]*' phonenumber

8、正则表达式表示QQ号

grep -E -o '\b[1-9][0-9]{4,12}\b' phonenumber

原创文章,作者:alren,如若转载,请注明出处:http://www.178linux.com/31460

(0)
alrenalren
上一篇 2016-08-10 10:15
下一篇 2016-08-10 10:22

相关推荐

  • BIND在生产环境中的创建

    一、实验:BIND二级域的搭建(均以yum安装bind),从实验图中可以看出需要五台虚拟机进行测试 一、准备五台虚拟机 二、配置root服务器 1、YUM安装bind的程序 2、配置bind的主配置文件 3、配置区域文件 4、为了实验的方便进行,把防火墙和SElinux关闭,并留意区域文件的属主属组 5、检查named的主配置文件和区域文件是否语法错误,并启…

    Linux干货 2016-10-05
  • linux基础学习-第六天

    2016-08-02 授课内容: 用户和组管理命令 理解并设置文件权限 默认权限 特殊权限 文件ACL 用户和组管理命令 用户和组的配置文件:/etc/default/useradd(相当于useradd -D)、/etc/skel(创建用户的家目录配置文件)、/etc/login.defs(修改用户的密码策略配置) /etc/default/useradd…

    Linux干货 2016-08-04
  • 马哥教育网络班21期+第15周课程练习

    1、总结sed和awk的详细用法; sed 流编辑器,处理一行数据到模式空间(p),不匹配条件话就输出源行,匹配条件且有处理话,就输出处理过后的行和源行, 匹配条件且没有处理动作的话,只输出p空间的行;保持空间(h)用来存放模式空间的临时处理结果 [root@centos ~]# sed ''&nb…

    Linux干货 2016-08-30
  • class8 文本处理工具sed和vim编辑器

    一、处理文本的工具sed     Stream EDitor,  行编辑器     sed是linux上一款比较重要的流编辑器。     特点:一次处理一行内容,处理完成后,把缓冲区的内容送往屏幕。这样不断重复,直到文件末尾。 &…

    Linux干货 2016-08-11
  • 习题

    1、找出ifconfig命令结果中本机的所有IPv4地址 2、查出分区空间使用率的最大百分比值 3、查出用户UID最大值的用户名、UID及shell类型 4、查出/tmp的权限,以数字方式显示 5、统计当前连接本机的每个远程主机IP的连接数,并按从大到小排序 6、显示/proc/meminfo文件中以大小s开头的行;(要求:使用两种方式) 7、显示/etc/…

    Linux干货 2016-08-07
  • 说说linux权限管理(1)

    在这篇文章当中你可以看到: 1、linux系统文件普通权限 2、文件所属主的设置,组的指定 3、特殊权限 4、acl权限 5、su命令及其注意事项和sudo权限 6、权限管理的注意点 0、首先,在linux下用户账户是分角色的,由于角色的不同,每个角色,每个用户的的权限和所能完成的任务也不同。而在实际管理中,用户的角色是通过UID(用户id号)来标识的,每个…

    Linux干货 2016-04-30