正则表达式介绍及grep的使用

一、正则表达式介绍

1、什么是正则表达式

正则表达式就是处理字符串的方法,它是以行为单位,通过一些特殊符号的辅助,以及相应的工具来快速搜索某指定的字符串。日常中支持正则表达式的常用工具有vi、grep、awk、sed等。

2、正则表达式用途

1)可以帮组系统管理员快速处理分析日常登录信息,相关服务的运行日志等;

2)方便文档编辑

3、正则表达式分类

1)基本正则表达式

2)扩展正则表达式

二、基本正则表达式

1、字符匹配

.:匹配任意单个字符

[]:匹配指定集合中的任意单个字符

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

2、匹配次数

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

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

\+:匹配其前面的字符出现至少1次

\{m\}:匹配其前面的字符m次

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

.*:匹配任意长度的任意字符

3、位置锚定符号

^:行首锚定

$:行尾锚定

^$:空白行

\<:词首锚定(可使用\b)

\>:词尾锚定(可使用\b)

4、分组

\(\):后向引用

模式中,如果使用\(\)实现了分组,在某行文本的检查中,如果\(\)的模式匹配到了某内容,此内容在后面的模式中可以被引用;

使用\1,\2等进行引用

5、常用的特殊符号

[[:digit:]], [0-9]代表数字

[[:lower:]], [a-z]代表小写字符

[[:upper:]], [A-Z]代表大写字符

[[:alpha:]],
[a-zA-Z]代表任意英文大小写字符

[[:alnum:]],
[0-9a-zA-Z]代表英文大小写字符及数字

[[:space:]]代表空白字符

[[:punct:]]代表标点符号

三、扩展正则表达式

1、字符匹配

与基本正则表达式一样

2、匹配次数

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

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

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

{m}:匹配其前面的字符m次

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

3、位置锚定符号

与基本正则表达式一样

4、分组

():后向引用

四、grep的使用

1、语法格式

grep [option] ‘pattern‘filename

2、常用选项

-v:方向选取

-o:仅显示匹配到内容

-i:忽略字符大小写

-E:使用扩展正则表达式

-n:显示行号

-A#:同时显示出后面的#行

-B#:同时显示出前面的#行

-C#:同时显示出前面的#行,后面的#行

五、egrep的使用

1、语法格式

egrep  ‘pattern‘ filename或者grep -E  ‘pattern‘ filename

六、实例演示

1、显示/etc/passwd中含有root关键字并显示行号

# grep -n ‘root‘
/etc/passwd

2、显示/proc/meminfo文件中以大写或小写S开头的行

# grep -i ‘^s‘
/proc/meminfo

3、显示/etc/fstab中非注释行

# grep -v "^#"
/etc/fstab

4、显示/boot/grub/grub.conf中以至少一个空白字符开头的行

# grep
"^[[:space:]]\{1,\}" /boot/grub/grub.conf

时间: 2024-11-09 00:48:34

正则表达式介绍及grep的使用的相关文章

Linux CentOS7 VMware正则介绍、grep工具、egrep表达式

一.正则介绍 正则是学习shell脚本的必学的内容,正则学的好坏直接影响到shell编程能力. 正则表达式:使用单个字符串来描述或匹配一系列符合某个句法规则的字符串.通常用来检索和替换那些符合某个模式的文本内容.正则表达式贯穿到整个运维日常,无论是查找某个文件,还是查询某个日志文件并分析其内容均用到. 正则表达式是一种思想,一种表示方法.常用的工具grep.sed.awk三剑客. 二.grep上 grep全称是Global Regular Expression Print,表示全局正则表达式版本

正则表达式介绍

1 正则表达式介绍 在JavaScript中,正则表达式是一个用来 匹配 的 并包含 元字符或普通字符 的字符串对象. 在JavaScript中,正则表达式是对象. 使用正则表达式的目的:提高效率 1.1 正则表达式的作用 1 匹配 2 提取 3 替换 1.2 识别正则表达式 "123" "abc" "just do IT" 1.3 元字符 在正则表达式中具有特殊意义的专用字符 符号 含义 基本元字符   . 匹配除换行符外的任意单个字符 (x)

linux正则表达式之-基础正则表达式(基于grep)

linux正则表达式: 简单的说,正则表达式就是为处理大量的字符串而定义的一套规则和方法,如:假设@代表123456,!代表abcde.通过定义的这些特殊符号的铺助,系统管理员就可以快速的过滤,替换或输出需要的字符. 使用正则表达式注意事项: 1.linux正则一般是以行为单位处理的. 2.alias grep='grep --color=auto',讲课是以grep为例.(注意:为了使下面的案例更加清晰明了,在做下面的案例前请先执行此行命令) 3.注意字符集,LC_ALL=C linux里正则

性能测试-JMeter关联之正则表达式介绍

为什么要关联??? 在客户端与服务器通信过程中,多个请求/响应间的数据会有相互依赖的关系.比如上一个请求返回的某些响应数据在后续的请求中需要用到. 下面是一些典型的例子: 1)比如第一次访问网站获取的session id在后续的请求都会将其传给网站; 2)服务器生成token返回给用户,在后续的请求中要带上token; 3)根据条件查询某记录,在查询结果集中选择记录进行操作(比如删除) ... 但是有些通信协议是无状态的,不存在上下文相关性.多个请求/响应之间的数据不能直接进行传递; 并且每次服

正则表达式学习之grep,sed和awk

正则表达式是用于描述字符排列和匹配模式的一种语法,它主要用于字符串的模式分割.匹配.查找以及替换操作. 描述一个正则表达式需要字符类.数量限定符.位置限定符.规定一些特殊语法表示字符类,数量限定符和位置关系,然后用这些特殊语法和普通字符一起表示一个模式,这就是正则表达式. 正则表达式的语法规范如下: 字符类:在模式中表示一个范围,但是取值范围是一类字符中的任意一个. 数量限定符:限定字符类出现的次数. 位置限定符:描述各种字符类和普通字符之间的位置关系. 特殊字符: 正则表达式有两种规范,分别是

正则介绍、grep

正则介绍 在计算机科学中,对"正则表达式"的定义是:它使用单个字符串来描述或匹配一系列符合某个句法规则的字符串.在很多文本编辑器或其它工具里,正则表达式通常用来检索和替换那些符合某个模式的文本内容.许多程序设计语言也都支持利用正则表达式进行字符串操作.对于系统管理员来讲,正则表达式贯穿在我们的日常运维工作和中,物理李娜是查找某个文档,还是查询某个日志文件并分析其内容,都会用到正则表达式. 其实正则表达式只是一种思想.一种表示方法.只要我们使用的工具支持这种表示方法,那么这个工具就可以处

shell下正则表达式与其工具grep

一.grep相关知识 1.grep      grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来. 2.grep工作原理      grep有两种模式:Basic和Extend模式.     在Basic模式下,命令直接grep ,其中的?.+.{}.|.()都被解释为普通字符,如果要使用其的特殊意义,就必须

正则表达式介绍及常见用法

正则表达式(Regular Expression),又称正规表示法.常规表示法,在实际的软件开发项目中经常会被使用到.它使用单个字符串来描述.匹配并获取一系列符合某个句法规则的结果. 我将从最基础的部分为大家写这个正则表达式教程. 正则表达式起源   1956年,数学家Stephen Kleene在Warren McCulloch和Walter Pitts早期神经系统工作的基础上,设计出了一个数学符号体系--regular sets(规则的集合),这个东西很快被计算机科学家用于编译器的扫描或词法

Linux:正则表达式及:grep工具

什么是正则表达式: 正则表达式就是处理字符串的方法,他是以行为单位来进行字符串的处理行为,正则表达式通过一些特殊符号的辅助,可以让用户轻易达到查找,删除,替换某种特定字符串的处理程序,其实就像相当与添加位置限定符,数量限定符,字符想定符来进行范围缩减匹配. 2.grep工具: 首先grep就是一个查找工具,然后通过正则表达式完成字符串的搜索. 存在3种限定符: 首先是字符限定符: 数量限定符: 位置限定符: 其他限定符: 是grep正则表达式的Extended规范,Basic规范也有这些语法,只