Grep with Regular Expression

grep命令基本用法

grep [-acinv] [--color=auto] [-A n] [-B n] '搜寻字符串' 文件名
参数说明:

-a:将二进制文档以文本方式处理
-c:显示匹配次数
-i:忽略大小写差异
-n:在行首显示行号
-A:After的意思,显示匹配字符串后n行的数据
-B:before的意思,显示匹配字符串前n行的数据
-v:显示没有匹配行
--color:以特定颜色高亮显示匹配关键字

针对“–color”选项,在.bashrc或者.bash_profile文件中加入:alias grep=grep --color=auto,生效后,grep的搜索结果自动高亮匹配。
针对‘搜寻字符串’选项,使用正则表达式时必须用单引号(’’)括起来,避免与shell的元字符冲突。

基本正则表达式

^word
搜寻以word开头的行。
例如:搜寻以#开头的脚本注释行。 grep –n ‘^#’ regular.txt

word$
搜寻以word结束的行
例如,搜寻以‘.’结束的行。 grep –n ‘.$’ regular.txt

.
匹配任意一个字符。
例如:grep –n ‘e.e’ regular.txt
匹配e和e之间有任意一个字符,可以匹配eee,eae,eve,但是不匹配ee。

\
转义字符。
例如:搜寻’,’是一个特殊字符,在正则表达式中有特殊含义。必须要先转义。 grep –n ‘\” regular.txt

*
前面的字符重复0到多次。
例如:匹配gle,gogle,google,gooogle等等。 grep –n ‘go*gle’ regular.txt

[list]
匹配一系列字符中的一个。
例如:匹配gl,gf。  grep –n ‘g[lf]’ regular.txt

[n1-n2]
匹配一个字符范围中的一个字符。
例如:匹配数字字符。  grep –n ‘[0-9]’ regular.txt

[^list]
匹配字符集以外的字符
例如:匹配非o字符。  grep –n ‘[^o]‘ regular.txt

\{n1,n2\}
前面的字符重复n1,n2次
例如:匹配google,gooogle。 grep –n ‘go\{2,3\}gle’ regular.txt

\<word
单词是的开头。
例如:匹配以g开头的单词。 grep –n ‘\<g’ regular.txt

word\>
匹配单词结尾
例如:匹配以tion结尾的单词。 grep –n ‘tion\>’ regular.txt

扩展正则表达式

在基本正则表达式的基础上,增加一些元数据,简化了字符串的匹配。grep可以通过参数-E支持扩展正则表达式。
egrep是grep的一个扩展命令,和grep -E等价,用来支持扩展正则表达式。

+
重复前面字符1到多次。
例如:匹配god,good,goood等等字符串。 grep –nE go+d’ regular.txt

?
匹配0或1次前面的字符
例如:匹配gd,god。 grep –nE ‘go?d’ regular.txt

| 或(or)的方式
匹配多个字串
例如:匹配god或者good。 grep –nE ‘god|good’ regular.txt

()
匹配整个括号内的字符串,原来都是匹配单个字符
例如:搜寻good或者glad。 grep –nE ‘g(oo|la)d’ regular.txt

Linux - 结合正则表达式使用grep命令的更多相关文章

  1. Linux学习笔记之grep命令和使用正则表达式

    0x00 正则表达式概述 正则表达式是描述一些字符串的模式,是由一些元字符和字符组成的字符串,而这些元字符是一些表示特殊意义的字符,即被正则表达式引擎表达的字符表示与其本意不同的一些字符. 0x01  ...

  2. Linux中find、grep命令详细用法

    在linux下面工作,有些命令能够大大提高效率.本文就向大家介绍find.grep命令,他哥俩可以算是必会的linux命令,我几乎每天都要用到他们.本文结构如下: find命令 find命令的一般形式 ...

  3. linux下find和grep命令详解

    在linux下面工作,有些命令能够大大提高效率.本文就向大家介绍find.grep命令,他哥俩可以算是必会的linux命令,我几乎每天都要用到他们.本文结构如下: find命令 find命令的一般形式 ...

  4. Linux基础-正则表达式整理---------------grep、sed、awk

    目录:    Ⅰ:正则表达式    Ⅱ:作业 Ⅰ:正则表达式 正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法.或者说:正则就是用来描述一类事物的规则. 在lin ...

  5. 【Linux】- ps -ef |grep 命令

    ps:将某个进程显示出来 grep:查找 |:管道命令 表示ps命令与grep同时执行 PS是LINUX下最常用的也是非常强大的进程查看命令 grep命令是查找,是一种强大的文本搜索工具,它能使用正则 ...

  6. linux的管道 |和grep命令以及一些其他命令(diff,echo,cat,date,time,wc,which,whereis,gzip,zcat,unzip,sort)

    linux提供管道符号“|”,作用是命令1的输出内容作为命令2的输入内容.通常与grep命令一起使用. 格式:命令1 |命令2 grep命令:全称为global regular expression ...

  7. Linux安全基础:grep命令的使用

    grep (缩写来自Globally search a Regular Expression and Print)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来.Unix的 ...

  8. 正则表达式2——grep命令

    grep是Global search Regular Expression and Print out the line的简称. 1. grep命令基本用法 命令格式: grep [选项][模式][文 ...

  9. 07: linux中正则表达式与grep使用

    1.1 linux中正则表达式 1.^linux        以linux开头的行 2.$php         以php结尾的行 3..                匹配任意单字符 4..+  ...

随机推荐

  1. django内置分页功能扩展

    实现自定制页码数类型class myPaginator(Paginator): def __init__(self,curr_page,per_page_num,*args,**kwargs): se ...

  2. 详细分析MySQL事务日志(redo log和undo log) 表明了为何mysql不会丢数据

    innodb事务日志包括redo log和undo log.redo log是重做日志,提供前滚操作,undo log是回滚日志,提供回滚操作. undo log不是redo log的逆向过程,其实它 ...

  3. php 二维数组按照某个键排序

    $date = array_column($arr, 'run_date'); //上面得到的结果:array(0=>'2017-11-21',1=>'2017-11-20',3=> ...

  4. JAVA类与类之间的全部关系简述+代码详解

    本文转自: https://blog.csdn.net/wq6ylg08/article/details/81092056类和类之间关系包括了 is a,has a, use a三种关系(1)is a ...

  5. Codeforces Round #437 C. Ordering Pizza

    题意: n个人吃披萨,总共有两种披萨,每种披萨都是有S块,给出每个人要吃的块数,吃第一种披萨能获得的happy值,吃第二种披萨能获得的happy值,问你,在购买的披萨数最少的情况下能获得的最大的总的h ...

  6. WD Elements 与 time machine

    备份是很重要的问题. 之前买了一个 WD Elements,想要格式化成 HFS 的格式. 不然不能被 Time Machine 使用. 但是用磁盘工具不能成功,因为 EFI 分区的问题. 参考下面网 ...

  7. Pains and Sickness 学习笔记

    Headaches can be very painful and can last for a long time. If you have a headache, your head hurts. ...

  8. Silverlight实用窍门系列:68.Silverlight的资源字典ResourceDictionary

      允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://chengxingliang.blog.51cto.com/3972944/886643 ...

  9. echo 转义字符的使用

    man echo 查看 echo 的使用文档 -n 不尾随换行符 -e 启用解释反斜杠的转义功能 -E 禁用解释反斜杠的转义功能(默认) --help 显示此帮助信息并退出 --version 显示版 ...

  10. Minimum Domino Rotations For Equal Row LT1007

    In a row of dominoes, A[i] and B[i] represent the top and bottom halves of the i-th domino.  (A domi ...