Linux grep命令用法实例讲解

发布时间:2020-09-04编辑:脚本学堂
本文介绍下,在linux系统中,用于文件查找匹配的命令,grep命令的用法,分享一些grep命令的实例,供大家学习参考。

本节内容:
linuxjishu/14086.html target=_blank class=infotextkey>grep命令
 
例如,要找一个start_kernel函数,命令:
 

复制代码 代码示例:
grep -wrI "start_kernel" ./*

grep命令主要参数:
-c:只输出匹配行的计数。
-I:不处理二进制文件
-i:不区分大小写(只适用于单字符)。
-r:递归处理目录下的所有文件。
-h:查询多文件时不显示文件名。
-l:查询多文件时只输出包含匹配字符的文件名。
-n:显示匹配行及 行号。
-s:不显示不存在或无匹配文本的错误信息。
-v:显示不包含匹配文本的所有行。
-w:包含正则表达式

分享一下grep命令常见用法:

1,多个文件查询
 

复制代码 代码示例:
grep "sort" *.doc    #常见文件名的匹配

2,行匹配:输出匹配行的计数
 

复制代码 代码示例:
grep -c "sort" data.doc    #输出data.doc中含有sort的行数

3,显示匹配行和行数
 

复制代码 代码示例:
grep -n "sort" data.doc    #显示data.doc中所有匹配sort的行和行号

4,显示非匹配的行
 

复制代码 代码示例:
grep -vn "sort" data.doc    #输出data.doc中所有不包含sort行

5,显示非匹配的行
 

复制代码 代码示例:
grep -vn "sort" data.doc    #输出data.doc中不包含sort的行

6,大小写敏感
 

复制代码 代码示例:
grep -i "ab" data.doc    #输出data.doc中所有含有ab或Ab的字符串的行

7,正则表达式的应用 (注意:最好把正则表达式用单引号括起来)
 

复制代码 代码示例:
grep '[239].' data.doc      #输出所有含有以2,3或9开头的,并且是两个数字的行

8,不匹配测试
 

复制代码 代码示例:
grep '^[^48]' data.doc      #不匹配行首是48的行