13grep和正则表达式

grep:Global search REgular expression and Print out the line . 文本过滤工具,根据用户指定的模式对目标文本进行匹配检查;打印匹配到的行。过滤即不改变原来文本数据。

grep [options] PATTERN [file…]

–color=auto: 对匹配到的文本着色显示

-v:显示不被pattern匹配到的行

-i:忽略大小写

-n:显示匹配的行号

-c:统计匹配的行数

-o:仅显示匹配到的字符串

-q:静默模式,不输出任何模式

-A #:after,后#行一并显示

-B #:before,前#行一并显示

-C #:context,前后#行一并显示

-e:实现多个选择间的逻辑或关系–> grep -e ‘cat’ -e ‘dog’ file

grep的PATTERN 支持正则表达式,支持正则表达式的还有 vim,less,nginx等

正则表达式:regexp,由一类特殊字符及文本字符所编写的模式,其中有些字符不表示字符字面意义,而表示控制或通配的功能

正则表达式有基本正则表达式(BRE)和扩展正则表达式(ERE)两种,元字符分类则有四种:字符匹配、匹配次数、位置锚定和分组

字符匹配:

. 表示匹配任意单个字符

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

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

[:alnum:] 字母和数字

[:alpha:] 英文字母

[:lower:] [:upper:]  大、小写字母

[:blank:] (空格和制表符tab)

[:space:] 垂直和水平的空白字符(比[:blank:]包含的范围广)

[:cntrl:] 不可打印的控制字符(退格、删除、警铃。。。)

[:digit:] [:xdigit:] 十进制数字,十六进制数字

[:graph:] 可打印的非空白字符

[:print:] 可打印的字符

[:punct:] 标点符号

匹配次数:

* 匹配前面的字符任意次,包括0次。在贪婪模式下:即尽可能长的匹配

.* 任意长度的任意字符

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

\+ 匹配其前面的字符至少一次

\{n\} 匹配前面的字符n次

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

位置锚定:

^ 行首锚定

$ 行尾锚定

^pattern 用于模式匹配整行 ^$ 空行  ^[[:space:]]*$  空白行

\<,\b 词尾锚定

\>,\b 词首锚定

\<pattern\> 匹配整个单词

分组:

\(\) 将一个或多个字符捆绑在一起当做一个整体进行处理,eg:\(root\)\+

分组括号中的的模式匹配到的内容会被正则表达式引擎记录与内部的变量中,这些变量的命名方式为:\1,\2,\3,…

\1 表示从坐骑第一个左括号以及与之匹配的右括号之间的模式所匹配到的字符

示例:\(string1\+\(string2\)*\)

\1 :string1\+\(string2\)*

\2 :string2

后向引用:引用前面的分组括号中的模式所匹配字符,而非模式本省

egrep及扩展正则表达式

egrep = grep -E 

egrep [options] pattern [file…]

扩展正则表达式的元字符:

字符匹配:

.

[]

[^]

次数匹配:

*

?

+

{m}

{m,n\}

位置锚定:

^

$

\<,\>,\b

分组:

()

后向引用:\1,\2…

或者:

a|b : a 或b

C|cat :C 或者cat

(C|c)at: Cat或者cat

—-joker的部落阁

原创文章,作者:joker,如若转载,请注明出处:http://www.178linux.com/61145

(0)
jokerjoker
上一篇 2016-11-27 22:52
下一篇 2016-11-27 22:56

相关推荐

  • linux中的权限和ACL

    linux中权限详解和ACL

    2017-11-18
  • 记一次CentOS7内核kernel的删除重装

    人生在于折腾,学习Linux更要多多折腾。在一次折腾中吸取教训,更易于记忆。 今天我们来折腾Linux的内核:删除系统内核后,通过光盘进行kernel的重安装。 友情提示:请在虚拟机环境进行,折腾前务必做好系统快照。慎重! 环境 本次系统环境是如下图: 删除 我们先到/boot目录下,强制删除kernel文件: 重启PC,此时系统报错找不到内核文件,无法登录…

    Linux干货 2016-08-24
  • 文件相关命令

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 cp:copy 源文件:目标文件 单源复制:cp [OPTION]… [-T] SOURCE DEST 如果DEST不存在,则事先创建此文件,并复制源文件的数据流至DEST中 如果DEST存在: 如果DEST是非目录文件:则覆盖目标文件 如果DEST是目录文件:则先在D…

    Linux干货 2016-09-23
  • 从案例出发——命令总结之find篇

    在这篇文章中你将看到以下内容:1、find命令的格式、语法、及实际应用 2、3个时间戳的意义  3、各种文件类型的解释  4、软硬链接的区别 5、exec和xargs的区别 6、几个逻辑判断符的意义  7、通配符的意义  8、find 命令下时间查找的特殊定义 首先,来看看以下题目:   &nbsp…

    Linux干货 2016-03-25
  • 初识Linux

    1 硬件:cpu,内存,输入输出设备 功能:计算,存放cpu暂时计算的数据,接受输入和输出反应 2 Debian Ubuntu => mint knopix Slackware: S.u.S.E => OpenSUSE SLES RedHat: RedHat Enterprise Linux => CentOS FedoraCore 3 1…

    Linux干货 2017-07-11
  • 系统日志和loganalyzer

    作为运维人员,熟悉系统日志是一项基本功。本文将介绍centos6的系统日志rsyslog及loganalyzer工具。 简介 系统日志:记录历史事件,通常都是按时间顺序将发生的事件予以记录,linux上的日志分为syslogd(系统进程相关日志)和klogd(内核事件日志) centos5:syslog    缺点:不能进行并行数据存储,…

    Linux干货 2016-03-20