如何在Grep中使用Regex(正则表达式)?

grep 是一个非常流行的工具,用于匹配给定文本中的给定搜索模式。grep提供了一个简单的glob搜索,但也提供了regex支持,这对于复杂的搜索ant匹配非常有用。在本教程中,我们将研究如何使用正则表达式模式。

null

使用Grep启用Regex

默认情况下 grep 不支持 regex 模式。我们可以启用 regex 对于 grep 具有 -E 选项如下。 -E 选项意味着扩展grep的高级功能,如 regex .

$ grep -E 'ismail' /etc/passwd

或者我们可以使用别名 egrep 这和 grep -E 就像下面一样。

$ egrep  'ismail' /etc/passwd

匹配行首

我们可以把这条线的起点和 ^ 在搜索模式的开头使用它进行签名。在本例中,我们将列出以 d .

$ egrep '^d' /etc/passwd
Start Of Line
线路起点

匹配行尾

我们也可以把线的末端和 $ 签字。我们会把 $ 并提供我们要匹配的最后一个字符。在本例中,我们将尝试匹配 nologin 在队伍的尽头。

$ egrep 'nologin$'
End Of Line
行尾

包含给定文本的行

我们也可以使用它来匹配给定的模式,而无需任何特殊用法。我们将匹配条件 mail 和grep在一起。

$ egrep 'mail' /etc/passwd

匹配大写字母

我们可以把大写字母和 [AZ] [[:upper:]] 就像下面一样。

$ egrep '[[:upper:]]' /etc/passwd
Match Uppercase 
匹配大写字母

匹配小写字母

我们可以把大写字母和 [az] [[:lower:]] 就像下面一样。

$ egrep '[[:lower:]]' /etc/passwd
Match Lowercase
匹配小写

忽略大小写匹配

在前面的示例中,我们已经匹配了大小写字母,但是如果我们需要通过忽略给定术语的大小写来匹配,该怎么办。我们将提供 -i 选项如下。

$ egrep -i 'r' /etc/passwd
Match Ignoring Case
匹配忽略大小写

匹配任何单个字符

如果我们想匹配任何一个字符,我们可以使用 . 意思是一个角色。在本例中,我们将匹配 r..t .

$ egrep 'r..t' /etc/passwd

逻辑或多模式

我们可以使用 | . 在本例中,我们将匹配 root ismail .

$ egrep 'root|ismail' /etc/passwd

匹配空行

我们可以通过使用 ^ $ 就像下面一样。

$ egrep '^

匹配数字

我们可以将包含数字或数字的行与 [09] [[:digit:]] 就像下面一样。

$ egrep '[[:digit:]]' /etc/passwd
Match Digits
匹配数字

/etc/passwd
End Of Line
行尾

相关文章: 如何使用Sed查找和替换文件或标准输入中的文本

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享