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
下一篇 2016-08-08

相关推荐

  • CentOS7系统用户空间管理进程systemd详解

    概述:     系统启动过程中,当内核启动完成,后加载根文件系统,后就绪的一些用户空间的服务的管理工作,就交由init进行启动和管理,在CentOS6之前的init的管理方式都类似,相关的内容我们在之前的文章中也做出过介绍。在CentOS7上,init变成了systemd,其管理方式也发生了重大的变化,本章就跟大家欧一…

    Linux干货 2016-09-21
  • Linux进程管理

    一、程序与进程           1、程序         程序是为了达到特定的目的,可以被计算机运行并且由命令代码组成的语句序列。       &…

    Linux干货 2015-05-14
  • N25_第四周

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 cp -R /etc/skel /home/tuser1chmod 700 -R /home/tuser1 2、编辑/etc/group文件,添加组hadoop。 vim /etc/group hadoop:x:1010:1…

    Linux干货 2016-12-25
  • N25第二周作业

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。     其常用的有: touch、stat、rm、cp、mv、install touch 命令    命令格式: touch [OPTION]… File… 命令参数: -a&n…

    Linux干货 2016-12-12
  • linux启动流程+任务计划

    20160907 一、作业 1、每周2, 4, 7备份/var/log/messages文件至/logs目录中,文件名形如“messages-yyyymmdd” 2、每两小时取出当前系统/proc/meminfo文件中以S或M开头的信息追加至/tmp/meminfo.txt文件中 二、博客 1、centos5,6启动流程 开机——POST…

    Linux干货 2016-09-08
  • 常见RAID介绍

    RAID简介 独立硬盘冗余阵列(RAID, Redundant Array of Independent Disks),旧称廉价磁盘冗余阵列(Redundant Array of Inexpensive Disks),简称磁盘阵列。主要目的是把多块硬盘组合起来提高数据处理能力、容错功能等 根据实现方式分为硬件和软件两种  硬件RAID:通过RAID…

    2016-04-12