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

文本查找查找命令的grep 、egrep、fgrep用法的详解

时间:2014-07-24 18:03:37      阅读:264      评论:0      收藏:0      [点我收藏+]

标签:linux   grep   egrep   fgrep   

            文本查找查找命令的grep 、egrep、fgrep用法的详解


一、学习目标

   了解并能熟悉运用grep、egrep、fgrep命令。

二、学习内容

1、grep、egrep、fgrep命令的意思和用法格式 :

     grep:是使用基本正则表达式定义的模式来过滤文本的命令。

                # grep [options] PATTERN  [FILE,...]

      egrep  :是使用扩展正则表达式的模式来过滤文本的命令。

                    # egrep [options] PATTERN  [FILE,...]

     fgrep:不支持正则表达式,是使用文字本身的意义的模式来过滤文本的命令。

                  # fgrep [options] PATTERN[FILE,...]

                注:PATTREN:  文本字符和正则表达式的元字符组合而成的匹配条件


2、grep命令常用的option

          -i : 忽略字符的大小写

          --color: 对pattern的内容加上颜色

          -v:显示没有被匹配的行

          -o:只显示被模式匹配到的字符串

          -E:使用扩展的正则表达式 ==egrep

          -F:==fgrep 

          -A n: 同时显示被pattern的内容的后n行 

          -B n:同时显示被pattern的内容的前n行 

          -C n: 同时显示被pattern的内容的前后n行 


3、了解什么是正则表达式

  正则表达式分为:基本正则表达式和扩展正则表达式

    (1)基本正则表达式有 :

        字符匹配: 

            . :表示匹配任意单个字符

           [] :表示匹配指定范围内的任意单个字符

           [^]:表示指定范围之外的任意单个字符

           [:space:]: 空白字符

           [:punct:]:标点符号

           [:lower:]:小写字母

           [:upper:]:大写字母

           [:alpha:]:大小写字母

           [:digit:]:数字

           [:alnum:]:数字和大小写字母 

      匹配次数:

            *: 匹配其前面字符任意次

            .*:匹配前面字符任意长度和任意次数

            \? :匹配前面的字符一次或0次

            \{m,n\}:匹配前面字符至少m次,至多n次

      位置锚定:

            ^:锚定行首,此字符后面的任意内容必须出现在行首

            $:锚定行尾,此字符前面的任意内容必须出现在行尾

            ^$:空白行,

            \<:其后面的内容必须作为单词的首部出现

            \>: 其前面的内容必须作为单词的尾部出现

      分组:

             \(\) : 将括号的内容作为一个整体

                    \1 : 指第一个左括号和与之对应的右括号的所有内容

                    \2: 指第二个左括号和与之对应的右括号的所有内容

                    .....

   

    (2)扩展的正则表达式:

        字符匹配:(与基本的正则表达式中的相同)

        次数匹配: 

                    *:匹配其前面字符任意次 

                    ?:匹配前面的字符一次或0次

                    +:匹配前面字符至少一次

                    {m,n}:匹配前面字符至少m次,至多n次

         锚定匹配:(与基本的正则表达式中的相同)

            分组: ():把括号里的内容作为一个整体  \1 \2 \3 ....

            或者:   | :表示或者  

                      

             

4、命令的使用演示

----------------------------------------------------------------------

1、显示/proc/meminfo文件中以不区分大小的s开头的行;

bubuko.com,布布扣

2、显示/etc/passwd中以nologin结尾的行; 

bubuko.com,布布扣    

   取出默认shell为/sbin/nologin的用户列表 

bubuko.com,布布扣

   取出默认shell为bash,且其用户ID号最小的用户的用户名

bubuko.com,布布扣

3、显示/etc/inputrc中以#开头,且后面跟一个或多个空白字符,而后又跟了任意非空白字符的行;

bubuko.com,布布扣

4、显示/etc/passwd中包含了:一个数字:(即两个冒号中间一个数字)的行;

bubuko.com,布布扣


5、显示/boot/grub/grub.conf文件中以一个或多个空白字符开头的行;

bubuko.com,布布扣

7、找出/proc/cpuinfo文件中的,1位数和2位数

bubuko.com,布布扣

8、找出ifconfig命令结果中的1-255之间的整数;

bubuko.com,布布扣

9、查找当前系统上名字为student(必须出现在行首)的用户的帐号的相关信息,  文件为/etc/passwd

bubuko.com,布布扣

11、显示所有以小写字母开头且数字结尾且文件名中不包含空白的文件;

bubuko.com,布布扣



    如果大家看了这文章觉得有问题,欢迎提出来,也欢迎大家来一起讨论,一起提高! 



本文出自 “迷路的骚年” 博客,请务必保留此出处http://8855546.blog.51cto.com/8845546/1528490

文本查找查找命令的grep 、egrep、fgrep用法的详解,布布扣,bubuko.com

文本查找查找命令的grep 、egrep、fgrep用法的详解

标签:linux   grep   egrep   fgrep   

原文地址:http://8855546.blog.51cto.com/8845546/1528490

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