Linux命令之Grep

  grep命令在Linux的学习中,是一个大头,如果能灵活运用,会让日常的工作简便不少。

  闲话不多说,但是在介绍之前,有必要来讲讲正则表达式:

正则表达式:

 

    正则表达式有两种:①基本正则表达式;②扩展正则表达式;

        基本扩展表达式有:

符号 含义
abcd   匹配abcd
. 匹配任意单个字符
*  匹配前一个字符0次或多次
.*            匹配所有内容  
[ ]     匹配集合中的任意单个字符,括号中为一个集合 
[a-d] 匹配连续的字符范围,即a到d所有字母
^  匹配整行的开头
$     匹配整行的结尾
\<   定界作用,表示一字串的最左端
\> 定界作用,表示一字串的最右端,\<abcd\>即可锁定匹配abcd
[^] 取反匹配,所有不在[^ ]中的内容都匹配
\   转义作用,①用于基本正则表达式的部分功能实现:\<等;②用于扩展正则表达式的转义作用
\? 匹配前一字符0次或1次
\+ 匹配前一字符1次或多次
\{n,m\} 匹配前一字符n到m次之间
\{n,\} 匹配前一字符n次以上(至少匹配n次)
\{n\} 匹配前一字符n次
\( \) 匹配内容,并将内容依次存储到“保留空间1 保留空间2 保留空间3.....”,最多有9个
\n   n为数字,表示调用\( \)保留空间中的内容,并且匹配该内容

        扩展正则表达式有:

符号 含义
{n,m} 与基本正则表达式中的\{\}作用相同,不再赘述
+ 匹配前一字符1次或多次
匹配前一字符0次或1次
| 逻辑或匹配,即匹配 | 前或后的字符(串)
( )   匹配正则集合,和|搭配使用,(a|b)cd即匹配acd或bcd等同于(acd|bcd)

 

Grep命令介绍:

      所在路径:/bin/grep

      类型:外部命令

      语法:grep [option] pattern file

      作用:在文件、标准输入中搜索被模式所匹配的内容并输出(并不会更改原文件内容)

      选项:

          -A n   显示被匹配到的内容所在行的n行(包含被匹配内容所在行,共n+1行被输出)

          -B n   显示被匹配到的内容所在行的n行(包含被匹配内容所在行,共n+1行被输出)

          -C n   显示被匹配到的内容所在行的前后n行(包含被匹配内容所在行,共2n+1行被输出)

          -c    统计凡是被模式匹配到的行数(一行内有多处被匹配到也算为一行)

          -E   激活扩展正则表达式=egrep命令

          -f file       从文件中读取匹配模式的内容

          -i     忽略大小写

          -l     列出包含匹配模式内容的文件的绝对路径,和-R选项搭配,如此一来,grep后面就可以接目录了

          -m   只匹配规定的行数(就原文件中的行数而言)

          -n    显示被匹配内容在原文件中的行数  

          -o    只打印被匹配到的内容

          -R    递归查找,后面接目录或者多个文件

          -v    反向打印,排除被匹配到的内容行,输出剩余行的内容

          -w      定界作用,相当于“\<...\>”,精确限制字符串的长度和内容

          -x    定界作用,相当于“^...$”,精确限制整行的内容

                    

       示例:
         (1)查找指定进程
                     ps -ef | grep "svn"
         (2)查找指定进程个数
                     ps -ef | grep "svn" -c
         (3)从文件中读取关键词
                     cat test1.txt | grep -f key.log
         (4)从文件夹中递归查找以grep开头的行,并只列出文件
                     grep -lR '^grep' /tmp
         (5)查找非x开关的行内容
                     grep '^[^x]' test.txt
         (6)显示包含ed或者at字符的内容行
                     grep -E 'ed|at' test.txt

posted on 2017-10-21 20:20  temagenie  阅读(164)  评论(0)    收藏  举报

导航