码迷,mamicode.com
首页 > 其他好文 > 详细

2015年8月27日课程作业(grep,正则表达式详解)

时间:2015-08-28 02:19:25      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:grep   正则表达式   egrep   

一、作业(练习)内容:

1、总结本此课程中所涉及命令的使用方法及相关示例展示

 grep: 文本搜索工具,根据用户指定的文本模式(正则表达元字符及正常字符组成而成)对目标文件进行逐行搜索,显示匹配的行

grep [OPTIONS]... [PATTERN] [FILENAME]...

      --color=auto    #对匹配到的字符串作高亮显示

      -i       #忽略大小写

      -v       #仅显示匹配不到行

      -O       #仅显示匹配到的字符串

      -q       #静默模式

      -E       #支持扩展正则表达式

      -n       #显示行号

      -A N:   #显示匹配到的行及其下面的N行

      -B N:    #显示匹配到的行及其上面的N行

      -C N:    #显示匹配到的行及其上N行和下N行

egrep 相当于 “grep -E”支持扩展正则表达式

fgrep 相当于 “grep” 但不支持正则表达式,查找速度快

  [root@xxj ~]# cat 2test
heel,world
root add tm
linux fedora centos
froot gentoo suse linux mint
root add tm
linux fedora centos
fRoot gentoo suse linux 
[root@xxj ~]# grep "root" 2test 
root add tm
froot gentoo suse linux mint
root add tm
[root@xxj ~]# grep -v "root" 2test 
heel,world
linux fedora centos
linux fedora centos
fRoot gentoo suse linux 
[root@xxj ~]# grep -i "root" 2test 
root add tm
froot gentoo suse linux mint
root add tm
fRoot gentoo suse linux 
[root@xxj ~]# grep -in "root" 2test 
2:root add tm
4:froot gentoo suse linux mint
5:root add tm
7:fRoot gentoo suse linux 
[root@xxj ~]# grep -ion "root" 2test 
2:root
4:root
5:root
7:Root
[root@xxj ~]# grep -n -C 3 root /etc/passwd 
1:root:x:0:0:chfn root:/root:/bin/bash
2-bin:x:1:1:bin:/bin:/sbin/nologin
3-daemon:x:2:2:daemon:/sbin:/sbin/nologin
4-adm:x:3:4:adm:/var/adm:/sbin/nologin
--
8-halt:x:7:0:halt:/sbin:/sbin/halt
9-mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
10-uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
11:operator:x:11:0:operator:/root:/sbin/nologin
12-games:x:12:100:games:/usr/games:/sbin/nologin
13-gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
14-ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
[root@xxj ~]#

2、总结基本正则表达式及扩展正则表达式

基础正则表达式:

    字符匹配

             .  任意单个字符

            []  指定范围内的任意单个字符

            [^] 指定范围外的任意单个字符

        常用的字符集合: 

            [a-z]注意在文件名通配中是表示所有字母,包括大小写,在正则表达式中只表示小写

            [A-Z],[0-9],[a-zA-Z0-9],[^a-zA-Z0-9]

            [:lower:],[:upper:],[:alpha:],[digit],[:allnum:],[:punct:],[:space:],[^:lower:]

     次数匹配

             


3、显示/etc/passwd文件中以bash结尾的行

4、显示/etc/passwd文件中的两位数或三位数

5、显示`netstat -tan`命令结果中以‘LISTEN’后跟0个、1个或者多个空白字符结尾的行

6、添加用户bash、testbash、basher以及nologin用户(nologin用户的shell为/sbin/nologin);而后找出/etc/passwd文件中用户名与其shell名相同的行

7、显示当前系统上root、centos或者user1用户的默认shell和UID (请事先创建这些用户,若不存在)

8、找出/etc/rc.d/init.d/functions文件中某单词(单词中间可以存在下划线)后面跟着一组小括号的行

9、使用echo输出一个路径,而后egrep找出其路径基名;进一步的使用egrep取出其目录名

10、找出ifconfig命令执行结果中1-255之间的数字


2015年8月27日课程作业(grep,正则表达式详解)

标签:grep   正则表达式   egrep   

原文地址:http://xiexiaojun.blog.51cto.com/2305291/1689108

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!