其他分享
首页 > 其他分享> > 正则表达式

正则表达式

作者:互联网

基本正则表达式
grep ‘正则表达式’ file
^string :以string开头的行
^: 号在中括号外面表示以什么开头,号在中括号里面表示除什么以外
stringKaTeX parse error: Expected group after '^' at position 14: :以string结尾的行 ^̲:空行
<string:表示以string开头的单词
>string:表示以string结尾的单词
. :可以代表任意一个字符
[]:里面也代表任意一个字符,只是说明了匹配的·字符范围[abc],取a或b或c,只匹配字符行
[^a];匹配a以外的字符 的行
[A-Z]:大写字母
[1-9]:数字
[a-z]:小写字母
[A-Z a-z]:全部字母
[a]:除了a以外的字母
\:反斜杠,转义字符,去除\后面字符的特殊含义,变成字符串

1.grep -w root passwd 匹配含有字符串root的行

2.grep -w ^root passwd 匹配以字符串root开头的行

3.grep -w ‘bash$’ passwd 匹配以字符串bash结尾的行(有bash即可以登录的用户)

4.grep ‘^#’ passwd 匹配注释行

5.grep -v ‘^#’ passwd 去掉注释行

6.grep -v ‘^#’ /etc/profile | grep ‘^KaTeX parse error: Expected group after '^' at position 17: … 匹配去掉注释行之后的空行(”^̲”)

7.grep -I ‘<root’ /tmp 匹配以root开头的行

8.grep -I ‘root>’ /tmp 匹配以root结尾的单词的行

grep ‘<root>\’ /tmp 等价于 grep -w ‘ root ’ /tmp
9.grep -I ‘ro’ passwd 匹配含有ro的行

10.grep -I ‘ro.’ passwd 匹配含有(ro.)任意一个字符的行,点代表任意一个字符

11.grep -I ‘1’ passwd匹配以a或b或c开头的行

12.grep ‘2’ passwd匹配以小写字母开头的行

  1. grep ‘[^a]’ passwd ,^在中括号里面代表匹配a开头以外的所有行

14.grep ‘3’ passwd匹配所有以字母开头的行

15.grep ‘[abc]’ passwd匹配不以a或b或c开头的行

  1. grep ‘^[’ passwd 匹配以[开头的行,\转义字符,使[变得没有意义即字符串

  2. grep ‘ro*’ passwd 匹配ro后面出现o 0-多次
    grep ‘r.*’ passwd 含有r的都匹配

8.扩展正则表达式 egrep=grep -E ,同时支持基本正则表达式

的补充扩展*

grep ‘ro{1,2}’ passwd
grep ‘ro{2,7}’ passwd
grep ‘ro{,9}’ passwd
grep ‘ro{7,}’ passwd
grep ‘root | bash’ passwd 匹配root或者bash的

tail -f /var/log/messages | egrep -I ‘err | warn den’

grep ‘(ro){2}’ passwd ro整体出现的次数

例如:ifconfig | egrep -i ‘([0-9]{3}.)’

ifconfig | egrep -i ‘([0-9]{1,3}.){3}[0-9]{1,3}’

ifconfig | egrep -io ‘([0-9]{1,3}.){3}[0-9]{1,3}’

egrep -i -o ‘<[a-z]{1,}>’ passwd
egrep -i -o ‘<[[:lower:]]{1,}>’ passwd
 其他常用通配符glob(7)
[:alpha:]:匹配字母(不区分大小写)
[:lower:]:匹配小写字母
[:upper:]:匹配大写字母
[:digit:]:匹配数字
[:space:]:匹配空格
[:alnum:]:匹配任意字母或数字
[:punct:]:除空格和字母、数字以外的任何可打印字符


  1. abc ↩︎

  2. a-z ↩︎

  3. A-Z a-z ↩︎

标签:字符,grep,正则表达式,passwd,匹配,ro,root
来源: https://blog.csdn.net/weixin_45784971/article/details/122278689