linux中grep的应用

Posted 火星小编

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux中grep的应用相关的知识,希望对你有一定的参考价值。

grep引用

一、基本用法

[[email protected] ~]# grep [-acinv] [--color=auto] ‘搜寻字符串‘ filename
选项与参数:
-a :将 binary 文件以 text 文件的方式搜寻数据
-c :计算找到 ‘搜寻字符串‘ 的次数
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 ‘搜寻字符串‘ 内容的那一行!
--color=auto :可以将找到的关键词部分加上颜色的显示

二、字符

1、元字符

     . :匹配任意单个字符

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

     [^]:匹配指定范围外的任意单个字符

2、字符集合

技术分享

三、匹配次数(贪婪模式:能匹配多少就匹配多少)

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

  .*:任意长度的任意字符

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

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

      \{1,\} :最少一次,多了不限

      \{0,3\}

四、位置锚定:

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

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

^$:空白符

\<:锚定行首,其后面的任意字符必须作为单词首部出现

\>:锚定行尾,其后面的任意字符必须作为单词尾部出现

例子:\<root 在行首的单词 如果是aroot是不行的

        \<root\> 只有完全匹配root行才会显示

五、分组 \(\)

\(ab\)* :

            把ab当成一个组实现0次1次或多次。

 \(\)的后项引用:

\1:引用第一个左括号以及与之对应的右括号所包含的所有内容

\2,\3分别表示引用第二个左括号

例子:grep ‘\(l..e\).*\1‘ 

显示:He love his lover

 


以上是关于linux中grep的应用的主要内容,如果未能解决你的问题,请参考以下文章

grep命令--Linux命令应用大词典729个命令解读

Linux下完美使用find+grep实现全局代码搜索

Linux 文本处理剑客grep

Linux命令中使用正则表达式

linux中怎么查看mysql数据库版本

Linux之正则表达式的应用