加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-14 01:13:50 所属栏目:百科 来源:网络整理
导读:正则表达式介绍及 grep 的使用 一、正则表达式介绍 1 、什么是正则表达式 正则表达式就是处理字符串的方法,它是以行为单位,通过一些特殊符号的辅助,以及相应的工具来快速搜索某指定的字符串。日常中支持正则表达式的常用工具有 vi 、 grep 、 awk 、 sed

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

一、正则表达式介绍

1、什么是正则表达式

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读