正则表达与扩展正则表达

说到正则表达式那就不得不说grep命令:

1.grep命令的作用:grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。2.格式
2.命令格式 :grep [options]
3.主要参数:
grep-c:只输出匹配行的计数。

正则表达与扩展正则表达
grep-i:不区分大 小写(只适用于单字符)。

正则表达与扩展正则表达

grep-n:显示匹配行及 行号。

正则表达与扩展正则表达


-v:显示不包含匹配文本的所有行。

正则表达与扩展正则表达

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

正则表达与扩展正则表达

正则表达式

grep正则表达式元字符集:
 ^ 锚定行的开始 如:‘^grep’匹配所有以grep开头的行。
$ 锚定行的结束 如:’grep$’匹配所有以grep结尾的行。
. 匹配一个非换行符的字符 如:’gr.p’匹配gr后接一个任意字符,然后是p。
* 匹配零个或多个先前字符 如:’*grep’匹配所有一个或多个空格后紧跟grep的行。 .*一起用代表任意字符。
 [] 匹配一个指定范围内的字符,如'[Gg]rep’匹配Grep和grep。
[^] 匹配一个不在指定范围内的字符,如:'[^A-FH-Z]rep’匹配不包含A-R和T-Z的一个字母开头,紧跟rep的行。
\(..\) 标记匹配字符,如’\(root\)’,root被标记为1个整体。
 \< 锚定单词的开始,如:’\<匹配包含以grep开头的单词的行。
\> 锚定单词的结束,如’grep\>’匹配包含以grep结尾的单词的行。
q\{m\} 重复字符q,m次,如:’0\{3\}’匹配包含3个0的行。
q\{m,\} 重复字符q,至少m次,如:’0\{3,\}’匹配至少有3个0的行。
q\{m,n\}重复字符q,至少m次,不多于n次,如:’0\{1,10\}’匹配1–10个0的行。
 \b 单词锁定符,如: ‘\bgrep\b’只匹配grep。

  [::alnum] : 数字字符 [:digit:] : 数字字符 [:punct:] : 标点符号字符
[:alpha:] : 字母字符 [:graph:] : 非空格字符  [:space:] : 空格字符
           [:blank:] : 空格与定位字符 [:lower:] : 小写字母字符 [:upper:] : 大写字母字符
[:cntrl:] : 控制字符 [:print:] : 可显示的字符 [:xdigit:] : 16进制数字

扩展正则表达式

.:匹配任意单个字符

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

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

匹配次数:

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

.*:匹配任意字符

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

+:匹配前面的字符至少1次

{m,n}:匹配前面字符

 


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

(0)
李先生李先生
上一篇 2017-08-07 02:18
下一篇 2017-08-07 08:45

相关推荐

  • Linux学习 Grep详则。

    grep 功能说明:查找文件里符合条件的字符串。 语  法:grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][–help][范本样式][文件或目录&…

    Linux干货 2017-07-24
  • 安装RPM包 rpm与yum工具的使用

    1.认识yum与rpm工具.                 在windows下安装一个软件很轻松,只要双击.exe的文件,安装提示连续 “下一步” 即可,然而linux系统下安装一个软件似乎并不那么轻松了,因为我们不是在图形界面下。所以你要学会如何在linux下安装一…

    Linux干货 2016-08-26
  • Linux下btrfs子卷的挂载

        对btrfs文件系统的补充:     btrfs文件手动挂载自不必多说,但若想btrfs文件系统开机自动挂载,该如何实现呢?     其实只需添加挂载选项即可,如下: UUID=c99895c8-5b14-4276-80c7-ecf…

    Linux干货 2015-12-19
  • vi与vim的使用

    一、引言     在Linux中,vi(Visual Interface)是标准的编辑器,功能强大到不逊于任何最新的编辑器。无论在Linux中还是在Unix中,vi的使用方法都是完全相同的。vim(Vi Improved)在vi的基础上增加了很多新特性。 二、模式     vim…

    Linux干货 2016-08-11
  • 2016全球运维大会,优云蒋君伟演讲“CMDB+自动化的管理融合”成一大亮点

    2016全球运维大会于9月23日-24日在上海盛大开幕。作为国内运维行业的重量级大会,优云产品总监蒋君伟在自动化专场与来自全国各地的运维同行一起探讨、分享业内自动化运维的最佳实践。现场情绪热烈,气氛高涨,成为了本届全球运维大会的一大亮点。 全新梳理自动化与CMDB的融合之道 全球运维大会当天,运维自动化专场很多大牛针对自动化运维管理中的CMDB进行了激烈的讨…

    Linux资讯 2016-12-05
  • linux软件包安装与管理

    一、RPM包简介     linux之所以那么强大,除了linux强大的内核,还有很大一部分取决于linux的软件包,假想没有软件包,就一个内核在运行,人类需要和内核打交道是多么痛苦,但是聪明的人类发明了bash,通过bash,人就可以使用高级语言,和机器沟通,这其中的bash起始也是一个软件包,当然linux除了ba…

    Linux干货 2016-08-24