linux中grep命令的详细解释

linux中grep命令的详细解释

linux中grep命令的详细解释

文章插图
linxu下的grep命令其实是一个搜索文件文本的工具 。下面由我为大家整理了linux的grep命令的详细解释的相关知识 , 希望对大家有帮助!
一.linux中的grep命令的详细解释1.作用Linux系统中grep命令是一种强大的文本搜索工具 , 它能使用正则表达式搜索文本 , 并把匹 配的行打印出来 。
2.格式grep [options]3.主要参数[options]主要参数:-c:只输出匹配行的计数 。-I:不区分大 小写(只适用于单字符) 。-h:查询多文件时不显示文件名 。-l:查询多文件时只输出包含匹配字符的文件名 。
-n:显示匹配行及 行号 。-s:不显示不存在或无匹配文本的错误信息 。-v:显示不包含匹配文本的所有行 。
pattern正则表达式主要参数:: 忽略正则表达式中特殊字符的原有含义 。^:匹配正则表达式的开始行 。$: 匹配正则表达式的结束行 。
<:从匹配正则表达 式的行开始 。>:到匹配正则表达式的行结束 。[ ]:单个字符 , 如[A]即A符合要求。
[ - ]:范围 , 如[A-Z] , 即A、B、C一直到Z都符合要求。。:所有的单个字符 。* :有字符 , 长度可以为0 。

二.linux中的grep命令的详解实例1.grep命令使用简单实例$ grep ‘test’ d*显示所有以d开头的文件中包含 test的行 。$ grep ‘test’ aa bb cc显示在aa , bb , cc文件中匹配test的行 。$ grep ‘[a-z]{5}’ aa显示所有包含每个字符串至少有5个连续小写字符的字符串的行 。$ grep ‘w(es)t.*1′ aa如果west被匹配 , 则es就被存储到内存中 , 并标记为1 , 然后搜索任意个字符(.*) , 这些字符后面紧跟着 另外一个es(1) , 找到就显示该行 。
如果用egrep或grep -E , 就不用””号进行转义 , 直接写成’w(es)t.*1′就可以了 。2.grep命令使用复杂实例假设您正在’/usr/src/Linux/Doc’目录下搜索带字符 串’magic’的文件:$ grep magic /usr/src/Linux/Doc/*sysrq.txt:* How do I enable the magic SysRQ key?sysrq.txt:* How do I use the magic SysRQ key?其中文件’sysrp.txt’包含该字符串 , 讨论的是 SysRQ 的功能 。默认情况下 , ’grep’只搜索当前目录 。如果 此目录下有许多子目录 , ’grep’会以如下形式列出:grep: sound: Is a directory这可能会使’grep’ 的输出难于阅读 。
这里有两种解决的办法:明确要求搜索子目录:grep -r或忽略子目录:grep -d skip如果有很多 输出时 , 您可以通过管道将其转到’less’上阅读:$ grep magic /usr/src/Linux/docu