正则表达与扩展正则表达

说到正则表达式那就不得不说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
下一篇 2017-08-07

相关推荐

  • openssl基础应用

    参考http://www.178linux.com/2704 http://www.williamlong.info/archives/837.html 一、前言 什么是openssl?讲openssl之前我们先了解下什么是ssl?ssl是secure socket layer的简称,其使用对称加密解密,非对称加密解密(公钥加密解密),单向加密解密结合证书实…

    Linux干货 2015-09-27
  • vim、crontab、bash for循环练习

    1、复制/etc/rc.d/init.d/functions文件至/tmp目录,将/tmp/functions文件中的以至少一个空白字符开头的行的行首加#。 vim中支持全文查找替换功能且在查找时支持正则表达式,在替换时进行引用。先使用vim /tmp/functions,然后在vim编辑模式中输入:%s/\(^[[:space:]]\+\)/#\1/g再回…

    系统运维 2016-12-03
  • 马哥教育网络21期+第十周练习博客

    马哥教育网络21期+第十周练习博客 1、请详细描述CentOS系统的启动流程(详细到每个过程系统做了哪些事情) CentOS启动流程:1,加电自检->Boot Sequence–>加载内核文件 BOOT Sequence中包含了MBR和GRUB     MBR:记录磁盘扇区,共512字…

    Linux干货 2016-09-19
  • N25第三周作业

    .列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登陆多次,则只显示一次即可。 此题主要考察命令who,cut,sort以及管道的基本用法:who:列出当前已登陆的用户名,登陆设备名,时间以及ip地址。 cut:    顾名思义就是截取之意, -d 指定要截取信息的分隔符,此处是以空格为分隔符,-f指定要截取的字段,此…

    Linux干货 2016-12-20
  • 第二十二周作业

    1、请描述本地文件系统和分布式文件系统的特点; 本地文件系统: 本地文件系统主要是指Ext2,Ext3,Btrfs,XFS这类(很难概括,只好举例子),它们通常提供以下功能: 1.扩展性:随着系统容量的增加保持性能,不随容量变化而导致性能震荡。比如一个目录下的海量文件,在EXT2/3中由于目录设计问题会导致较大的性能问题。再比如EXT2/3中的Metadat…

    2017-09-23
  • 不作死就不会死,运维的危险命令(2)

    命令是一种很有趣且有用的东西,但在你不知道会带来什么后果的时候,它又会显得非常危险。所以,在输入某些命令前,请多多检查再敲回车。

    2017-12-03