grep 及 正则表达式

原创 2016年05月12日 21:06:45

文本查找的需要:

grep:根据模式搜索文本,并将符合模式的文本行显示出来。
Pattern:文本字符和正则表达式的元字符组合而成的匹配条件

grep [options] PATTERN [FILES]

  1. -i 忽略大小写
  2. –color 显示标注颜色
  3. -v 显示没有被模式匹配到的行
  4. -o 只显示被匹配到的字符串

*:任意长度的任意字符
?:任意单个字符
[]:指定范围内的
[^]:指定范围外的

正则表达式(regular expression)(REGEXP)

元字符:
.: 匹配任意单个字符
?:任意单个字符
[]:指定范围内的任意单个字符
[^]:指定范围外的任意单个字符
字符集合:[:digit:]数字,[:lower:]小写字母,[:upper:]大写字母,[:punct:]标点符号,[:space:]空格,[:alpha:]所有字母,[:alnum:]字母数字下划线,

匹配次数(贪婪模式:尽可能长的去匹配):
*:匹配其前面的字符任意次
a,ab,aab,acb,adb,amnb
a*b
只能匹配到:b,ab,aab

.*:匹配任意长度的任意字符
能匹配到:ab,aab,acb,adb,amnb

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

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

位置锚定:
^:锚定行首,此字符后面的任意内容必须出现在行首
$:锚定行尾,此字符前面的任意内容必须出现在行尾
^$:空白行

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

分组:
()
(ab)*:包含任意个ab的字符串。
\1:后向引用

grep:使用基本正则表达式定义的模式来过滤文本的命令:
-E:使用扩展正则表达式
-A (数值n):显示被匹配到的行以及其下面的n行
-B (数值n):显示被匹配到的行以及其上面的n行
-C (数值n):显示被匹配到的行以及其上面的n行和下面的n行

扩展正则表达式

字符匹配:
.:
[]:
[^]:

次数匹配:
*:其前字符任意次
?:其前字符0次或1次
+:匹配其前字符至少1次
{m,n}(无需使用反斜线):匹配其前面的字符至少m次,至多n次

位置锚定:
^:
$:
\<:
>:

分组:
():分组
\1,\2,\3,…

或者
|:or的意思
(C|c)at:小写或者大写C后接着at。
找出1-255之间的数字:
$:\<([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])>

grep -E = egrep
$:ipconfig | egrep –color

grep,egrep,
fgrep:(fast)不支持 正则表达式

版权声明:本文为博主原创文章,转载请注明出处,谢谢配合!

Linux grep基本用法与正则表达式

本文只是对于常用的grep配合正则表达式基本用法进行简单小结,如果想仔细的学习正则表达式,请访问鸟哥Linux私房菜,台湾同胞的网站是繁体中文的,需要点儿耐心。1、grep命令功能:输入文件的每一行中...
  • xy010902100449
  • xy010902100449
  • 2016年05月16日 16:50
  • 1840

grep命令+正则表达式

grep命令:通用正则表达式解析器 的简称 grep命令使用一个选项,一个要匹配的模式,要搜索的文件。 语法:grep [options] PATTERN [FILES] 如果没有提供文件名,则gr...
  • Tanswer_
  • Tanswer_
  • 2016年06月15日 15:15
  • 1554

shell文本过滤编程(一):grep和正则表达式

【版权声明:转载请保留出处:blog.csdn.net/gentleliu。Mail:shallnew at 163 dot com】 Linux系统中有很多文件,比如配置文件、日志文件、用户文件等...
  • gentleliu
  • gentleliu
  • 2014年08月24日 21:50
  • 3411

grep与正则表达式

  • 2014年04月21日 22:35
  • 247KB
  • 下载

shell脚本学习:快速理解正则表达式之grep篇

shell脚本是Linux的核心之一,而正则表达式是shell脚本的核心之一,理解正则表达式可以快速匹配需要查抄的文本,对以后的shell脚本编程打下一个坚实的基础。    接触正则表达式一般从gre...
  • deansrk
  • deansrk
  • 2011年07月23日 23:04
  • 11910

Linux大神养成之正则表达式(grep,sed)

Linux大神养成之正则表达式grep命令参数: -A后面加数字,代表after,表示把该行的后续n行也列出来 -B后面加数字,代表befer,表示把改行的前面n行也列出来 $ dmesg | gre...
  • y990041769
  • y990041769
  • 2015年07月31日 10:58
  • 6383

linux . grep 正则表达式

grep: 使用于linux下的查找字符串 正则:检索 替换符合某个模式的文本 grep正则表达式元字符集:  ^ 锚定行的开始 如:'^grep'匹配所有以grep开头的行。  ...
  • Gease_lcj
  • Gease_lcj
  • 2017年12月29日 19:28
  • 37

正则表达式和grep,sed,awk

正则表达式定义:它使用单个字符串来描述或匹配一系列符合某个句法规则的字符串。 “^”表示行的开始,“^#”表示以#开始的行。“$”表示行的结尾,“#$”表示以#结尾的行。“^$”表示空行。 “[ ...
  • xiamuyingu
  • xiamuyingu
  • 2015年03月25日 17:10
  • 149

正则表达式与grep、sed

一、正则表达式      一个正则表达式,就是用某种模式去匹配一类字符串的一个公式。绝大部分是基于vi中的文本替换命令和grep文本搜索命令,还可以在sed、awk、perl等支持正则表达式的编程语...
  • Sekai_Z
  • Sekai_Z
  • 2016年08月20日 23:19
  • 496

grep 正则表达式及选项以及注意

grep命令简介: 在ex编辑器(我没用过)中,启动ex编辑器后要查找某个字符串时,在ex的命令提示符后键入: :/pattern/p :/g/pattern/p grep...
  • zkaipmoo
  • zkaipmoo
  • 2013年12月09日 23:56
  • 633
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:grep 及 正则表达式
举报原因:
原因补充:

(最多只允许输入30个字)