grep使用简介

来源:互联网 发布:打印热敏纸图片软件 编辑:程序博客网 时间:2024/05/13 00:18

      初期使用grep命令最常见的是查找一个进程,使用的命令为:

<span style="font-size:18px;"><strong>ps aux | grep +进程文件名 //这条命令语句就在系统中为我们找出满足要求的进程</strong></span>
    当然,这只是grep命令使用的一个微小方面。以下将是详细的学习介绍grep命令。

    grep命令被称为行过滤工具,它通常被用来进行模式匹配形式的查找。那什么又叫模式匹配呢?模式匹配是说不在限定要查找的具体的key值,而是通过一定的条件来判断匹配(也就是需要使用正则表达式来匹配)。

(一)简单的添加参数查找匹配串

1.grep --color +要匹配的内容+文件 //显示出文件里符合匹配的内容(--color可以标出字符的颜色)

2.grep -i +要匹配的内容+ 文件    //不区分大小写的搜索

2.grep -l +要匹配的内容+ 文件 //列出满足匹配条件的文件名


4..grep -w +要匹配的内容+ 文件 //列出不满足匹配条件的文件名

5.grep -C number +要匹配的内容+ 文件  //匹配 的上下文显示出[number]行

6.grep +要匹配的内容1 |+要匹配的内容2 +文件名 //显示匹配内容1或者内容2的文件名

7.grep +要匹配的内容1+file | grep +要匹配的内容2 //显示既匹配内容1又匹配内容2 的行

8.grep -c  +要匹配的内容+ 文件 //只输出匹配行的计数

9.grep -n  +要匹配的内容+ 文件 //显示匹配行及行号

10.grep -v //不显示不包含匹配文本的所以有行
11.grep -s //不显示错误信息
12.grep -E //使用扩展正则表达式

(二)什么是正则表达式?

构成正则表达式的三个必须条件为:

                                     1.匹配的字符类别

                                     2.数量限定符

                                     3.位置限定符

这三者共同构成了正则表达式,其中单独的使用一个作为限定条件都无法达到精确的匹配。下面就分别介绍一下是哪个要素的具体组成。

                  字符类

字符

         含义

.

任意匹配一个字符(这个字符必须存在)

[]

匹配括号中的任意一个字符

-

在[]内表示字符范围

^

位于[]内的开头,匹配出括号中的字符之外的任意一个字符

[[:xxx:]]

Eg:[[:digit:]]/[[:alpha:]]表示按数字或者字母匹配

 

   

                              数量限定符

紧跟在它前面的单元匹配0次或一次

+

紧跟在它前面的单元匹配一次或多次

*

紧跟在它前面的单元匹配0次或多次

{N}

紧跟在它前面的单元精确匹配N次

{N,}

紧跟在它前面的单元匹配至少N次

{,M}

紧跟在它前面的单元匹配至多M次

{N,M}

紧跟在它前面的单元匹配至少N次至多M次


         位置限定符

 

字符

含义

^

匹配行首的位置

$

匹配行末的位置

\<

匹配单词开头的位置

\>

匹配单词结尾的位置

\b

匹配单词开头或结尾的位置

\B

匹配非单词开头或结尾的位置


由上面的例子可以看出:\b放在匹配字符的开头功能与\>相同,放在匹配字符的结尾功能与\<相同。


(三)grep正则表达式有两种规范,分别是Extended和Basic.默认情况下,匹配的时候是按照Basic规范的。在Basic模式下,字符?+ {} | ()都被解释为普通字符,要表示这些字符的特殊含义的时候需要添加\转义。当然若添加-E选项的话,字符匹配为全匹配。


0 0