jackcui0804作业

1)显示/proc/meminfo 文件中以大小s 开头的行;( 要求:使用两种方式)

[root@centos7 ~]# cat /proc/meminfo | grep -e "^s.*" -e "^S.*"
SwapCached:            0 kB
SwapTotal:       2097148 kB
SwapFree:        2097148 kB
Shmem:             13472 kB
Slab:             117520 kB
SReclaimable:      69404 kB
SUnreclaim:        48116 kB
[root@centos7 ~]# cat /proc/meminfo | grep -e "^[sS].*"
SwapCached:            0 kB
SwapTotal:       2097148 kB
SwapFree:        2097148 kB
Shmem:             13472 kB
Slab:             117520 kB
SReclaimable:      69404 kB
SUnreclaim:        48116 kB
[root@centos7 ~]# cat /proc/meminfo | grep -E "^(s|S).*"
SwapCached:            0 kB
SwapTotal:       2097148 kB
SwapFree:        2097148 kB
Shmem:             13472 kB
Slab:             117520 kB
SReclaimable:      69404 kB
SUnreclaim:        48116 kB

 

2)显示/etc/passwd 文件中不以/bin/bash 结尾的行

[root@centos7 ~]# grep  -v  "/bin/bash$" /etc/passwd

3)显示用户rpc 默认的shell 程序

[root@centos7 ~]# grep "^rpc\>.*" /etc/passwd |cut -d: -f 7
/sbin/nologin

4)找出/etc/passwd 中的两位或三位数

[root@centos7 ~]# grep -Eo  "[1-9][[:digit:]]{1,2}" /etc/passwd  //o选项只打印匹配到的内容 
12
11
12
100
14
50
99

5)显示/etc/grub2.cfg 文件中,至少以一个空白字符开头的且后面存非空白字符的行

[root@centos7 ~]# grep "^[[:space:]][^[:space:]].*" /etc/grub2.cfg
         load_video
         set gfxpayload=keep
         insmod gzio
         ……

6)找出"netstat -tan" 命令的结果中以'LISTEN' 后跟0 1或多个空白字符结尾的行

[root@centos7 ~]# netstat -tan | grep -e "LISTEN[[:space:]]*$"
tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN    
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN

7)添加用户bash testbash basher 以及nologin( shell /sbin/nologin), 而后找出/etc/passwd 文件中用户名同shell名的行

 

[root@centos7 ~]# grep -E "(^[[:alnum:]]+).*/\1$"   /etc/passwd
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
bash:x:1008:1008::/home/bash:/bin/bash
basher:x:1010:1010::/home/basher:/bin/bash

7)找出/etc/rc.d/init.d/functions 文件中行首为某单词(

括下划线)

grep -e  "[[:alpha:]_]*().*"  /etc/rc.d/init.d/functions

 

8)使用egrep 取出/etc/rc.d/init.d/functions基名,和目录名:

 

echo /etc/rc.d/init.d/functions | grep -E  "[^/][[:alpha:]]+$" -o
echo /etc/rc.d/init.d/functions | grep -E  "[[:alpha:]/]+.*/"  -o

 

 

 

9)利用扩展正则表达式分别表示0-9 10-99 100-199

200-249 250-255

 

[root@cnode6_8 ~]# grep -we "[[:digit:]]\{1,1\}" a.log  //0-9
0 1 2 22 34 4 5 10 11 111 23 100 123 234 244 250 10000 999
[root@cnode6_8 ~]# grep -we "[1-9][[:digit:]]" a.log  //10-99
01  0 1 2 22 34 4 5 10 11 111 23 100 123 234 244 250 10000 999
 
[root@cnode6_8 ~]# grep -we "1[[:digit:]][[:digit:]]" a.log  //100-199
 
[root@cnode6_8 ~]# grep -we "2[0-4][[:digit:]]" a.log  //200-249
[root@cnode6_8 ~]# grep -we "25[[0-5]]" a.log

 

10)显示ifconfig命令结果中ipv4地址

 
[root@cnode6_8 ~]# ifconfig| grep 'inet\>'|cut -d: -f2|tr -s " " |cut -d " " -f1

 

统计/etc/rc.d/init.d/function中单词出现的次数

cat /etc/rc.d/init.d/functions |tr -c  "[[:alnum:]]" "\n"|tr "[]"  "\n"|tr -s "[[:space:]]"|sort |uniq –c

 

11)用正则表达式表示手机号11 13 17 15  18

grep -e "1[13578][[:digit:]]\{9\}[^[:digit:]]

用正则表达式表示身份证号18

[root@centos7 ~]# grep  -E  "\<[1-9][[:digit:]]{16}[[:digit:]x]\>" aa
123456789012345678

 

12)用正则表达式表示邮箱

[root@centos7 ~]# grep -E "\<[[:alnum:]_]{1,16}@[[:alnum:]]{1,20}.com"  mail_test.txt

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

(0)
jack_cuijack_cui
上一篇 2016-08-08 16:16
下一篇 2016-08-08 16:16

相关推荐

  • 8月3号 用户权限作业

     1,当用户xiaoming 对/testdir  目录无执行权限时,意味着无法做哪些操作?   先创建目录/testdir,接着修改目录的/testdir的权限,用xiaoming的身份去进入/testdir目录 [root@localhost ~]# mkdir /testdir [root@l…

    Linux干货 2016-08-08
  • N21第五周

    1.显示/boot/grub2/grub.cfg中以至少一个空白字符开头的行; ]# grep '^[[:space:]]\+' /boot/grub2/grub.cfg 2.显示/etc/rc.d/init.d/functions文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行; ]#…

    Linux干货 2016-08-15
  • MySQL-MMM安装指南(Multi-Master Replication Manager for MySQL)

    最基本的MMM安装必须至少需要2个数据库服务器和一个监控服务器下面要配置的MySQL Cluster环境包含四台数据库服务器和一台监控服务器,如下: function ip hostname server id monitoring host 192.168.0.10 mon – master 1 192.168.0.11 db1 1 maste…

    Linux干货 2015-05-01
  • Linux命令的别名与管道命令的详解

    Linux中命令的别名与管道命令的详解 命令别名 在使用和维护liunx时,将会使用大量的命令,而一些命令加上参数时输入比较繁琐,此时我们可以定义一个别名来代替繁琐的命令。 系统定义的别名 可以输入 alias 命令查看系统中已经定义好的命令的别名; [root@localhost ~]# alias alias cp=’cp -i’ alias egrep…

    Linux干货 2018-03-03
  • 马哥教育网络21期+第四周作业博客

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 [root@localhost ~]# cp -r /etc/skel /home/ && mv /home/skel&nbsp…

    Linux干货 2016-09-05
  • bash脚本编程基础知识

    shell脚本语言编程之bash shell简介 什么是shell:     shell是Linux的用户界面,提供了用户与内核进行交互的接口,他接收了用户的指令,并将指令送入内核去执行     shell即是一种高级程序语言,也是一种命令解析语言   &nb…

    Linux干货 2016-08-15