正则表达式

grep命令:
文本过滤(按行过滤)
参数
  -v 取反
-i 忽略大小写
-n 显示行号
-c 统计匹配行数
-q 静默执行(不显示执行结果)
-o 仅显示搜索到的字符串
-A #(数字) 包含关键字的后续几行
-B #(数字) 包含关键字的前面几行
-C #(数字) 包含关键字的前后几行
-w 匹配整个单词
-E 相当于fgrep
正则表达式
REGEXP匹配字符串
正则表达式元字符
\ 转义字符
. 匹配任意单个字符
[] 匹配指定范围外的任意单个字符
[^] 匹配除了[]内单一字符
[:alnum:] 字母和数字
[:alpha:]A-Z,a-z 代表任何英文大小写字符
[:upper:]A-Z 大写字母
[:lower:]a-z 小写字母
[:blank:] 空白字符
[:space:] 水平和垂直的空白字符
[:cntrl:] 不可打印的控制字符(退格,删除,警铃)
[:digit:] 十进制数字
[:xdigit:] 十六进制数字
[:graph:] 可打印的非空白字符
[:print:] 可打印的空白字符
[:punct:] 标点符号
正则表达式位置锚定:定位出现的位置
^ 行首锚定,用于模式的最左侧
$ 行尾锚定,用于模式的最右侧
^PATTERN$ 用于模式匹配整行
^$空行 空行
^[[:space;]]*$ 空白行
\<或\b 词首锚定,用于单词模式的左侧
\>或\b 词尾锚定,用于单词模式的右侧
\<PATTERN\> 匹配整个单词
正则表达式分组
\(\)将一个或多个字符捆绑在一起,当作一个整体进行处理,如\(root\)\+
分组括号中的模式匹配到的内容会被正则表达式引擎记录于内部的变量中,
这些变量的命名方式为:\1,\2,\3,..
\1 表示从左侧起第一个左括号以及为止匹配右括号之间的模式所匹配到 的字符
示例: \(string1\+\(string2\)*\)
\1 : string1\+\(string2\)*
\2 : string2
后向引用:引用前面的分组括号中模式所匹配字符,而非模式本身
或者\|
示例 : a\|b: a或b C\|cat: C或cat \(C\|c\)at:Cat或cat
正则表达式次数匹配
.*: 匹配前面字符任意次
\?: 0或1次
\+: 1次或多次
\{n\}: 匹配前面的字符n次
\{m,n\} 匹配前面的字符至少m次,至多n次
\{,n\} 匹配前面的字符至多n次
\{n,\} 匹配前面的字符至少n次
egrep及扩展的正则表达式
egrep命令
egrep=grep-E
扩展正则表达式
扩展正则表达式元字符
. 匹配任意单个字符
[] 匹配指定范围外的任意单个字符
[^] 字母和数字
扩展正则表达式位置锚定
^ 行首锚定,用于模式的最左侧
$ 行尾锚定,用于模式的最右侧
\<或\b 词首锚定,用于单词模式的左侧
\>或\b 词尾锚定,用于单词模式的右侧
扩展正则表达式分组
()
后向引用:\1,\2,…
例 : a|b: a或b C|cat: C或cat (C|c)at:Cat或cat
扩展正则表达式次数匹配
*: 匹配前面字符任意次
?: 0或1次
+: 1次或多次
{m}: 匹配m次
{m,n}: 至少m次,至多n次

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/93828

(0)
简单不简单简单不简单
上一篇 2018-03-30 20:34
下一篇 2018-03-30 20:36

相关推荐

  • Tomcat介绍及相关实验(一)

    Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

    2018-07-24
  • linux网络基础

    无线网络标准: 中国:早期wapi后期wapi+wifi 国际:wifi 无线模式802.11 a/b/n/ac/bn,以太模式IEEE  802.3 网络施工模式: ethtool eth0 单工:单向传输 双工:双向传输 全双工:同时双向 半双工:轮流双向 集线器Hub :由于网线信号电流强度受距离影响,所以集线器很好的提供了电能 冲突域:同个网域中发送…

    Linux笔记 2018-05-07
  • sed命令应用

    sed 正则表达式

    2018-04-15
  • 搭建本地yum仓库

    一、首先准备两台Centos虚拟机,一台搭建yum源服务器,一台作为客户端进行访问及安装、更新软件。(1)、yum源服务器版本是Centos7.4(2)、客户端版本是centos6.9二、自动挂载光驱(1)、准备centos6.9的虚拟光盘和centos7.4的虚拟光盘,挂载至centos7.4系统上(2)、安装autofs包,实现自动挂载方法1、cd /m…

    2018-04-22
  • Centos6.9上安装httpd2.2.34步骤

    Centos6.9上安装httpd2.2.34步骤 1.      首先安装包组 yum groupinstall “development tools”如下图所示: 2.      我们需要建立一个repo仓库,可以指向网络镜像地址,也可以指向光盘,这里为了更加快速,所以指向光盘。并且清除缓存,获取repolist列表。 在/etc/yum.repos.d…

    2018-04-22
  • Elastic Stack(ELK)介绍及相关示例实验

    Elastic Stack是一套支持数据采集、存储、分析、展现的全流程数据分析工具,旧时称作ELK(Elasticsearch,Logstash,Kibana的缩写,)。Elastic Stack由一系列的工具集组成,Logstash & Beats:数据采集工具,logstash适合大批量数据的采集,其结构较重,消耗资源较大,适合集群化部署。

    2018-07-31