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

Grep命令中正则表达式(regular Expressions,RE)的用法

发布时间:2020-12-14 01:48:02 所属栏目:百科 来源:网络整理
导读:当你在使用grep命令的时候肯定会用到正则表达式,那么怎么在grep命令中使用正则表达式呢? 正则表达式元字符 grep命令支持很多正则表达式的元字符,以使用户能够更精准的定义要查找的模式。例如,可以通过制定的选项来关闭大小写敏感,要求显示行号等。 元字

当你在使用grep命令的时候肯定会用到正则表达式,那么怎么在grep命令中使用正则表达式呢?

正则表达式元字符

grep命令支持很多正则表达式的元字符,以使用户能够更精准的定义要查找的模式。例如,可以通过制定的选项来关闭大小写敏感,要求显示行号等。

元字符 功能 示例 匹配对象
^ 行首定位符 ‘^user' 匹配所有以user开头的行
$ 行尾定位符 ’user$' 匹配所以以user结尾的行
匹配一个字符 ‘u.r' 匹配包含一个u,后跟一个字符,再跟一个r的行
* 匹配两个或多个前导字符 ’u*ser' 匹配包含零个或多个u后,跟ser模式的行
[] 匹配一组字符中的人一个 ‘[uU]ser' 匹配包含user或者User的行
[^] 匹配不在指定字符组里的字符 ’[^A-S]ser‘ 匹配一个不在A到S之间的字符,并且该字符后紧跟着ser的行
&; 词首定位符 ’&;user‘ 匹配包含以user开头的词的行
&; 词尾定位符 ’user&;‘ 匹配包含以user结尾的词的行
&;..&; 标记匹配到的字符 ’&;user&;' 匹配包含<user>的行
{M}{M,}{M,N}

匹配重复出现的次数M次匹配出现的次数至少M次

匹配出现的次数至少M次,但不超过N次

'u{4}u{5}

u{5,8}'

匹配连续出现4个u的行匹配连续出现最少5个u的行

匹配连续出现最少5个,最多8个u的行

grep 正则表达式示例:

在/etc/passwd 里查找包含“user1“字符串的行

[root@devops~]#grepuser1/etc/passwd
user1:x:502:503::/home/user1:/bin/bash

如果想忽略大小写的区做搜索可以使用-i选项

#grepuser1/etc/passwd

你可以使用"."元字符为一个单个的字符做匹配,例如我们可以使用下面的命令去匹配一个以”u"开头,以“r”结尾,中间是任意一个字符的行

[root@devops~]#grep'&;u.r&;'/etc/passwd
game:x:12:100:games:/usr/games:/sbin/nologin

如何在grep正则表达式中准确的匹配所有包含两个字符的行?

[root@devops~]#grep'^..$'/

(编辑:李大同)

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

    推荐文章
      热点阅读