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

正则表达式

发布时间:2020-12-13 22:23:38 所属栏目:百科 来源:网络整理
导读:1.正则表达式:就是一套处理大量字符串而定义的规则和方法。2.正则表达式的应用很广泛,PERL,PHP,JAVA等。3.linux运维中的正则表达式常用的:grep,sed,awk(linux三剑客).4.正则表达式和linux通配符是有本质区别的。注意事项:a,linux正则表达式一般以行为
1.正则表达式:就是一套处理大量字符串而定义的规则和方法。
2.正则表达式的应用很广泛,PERL,PHP,JAVA等。
3.linux运维中的正则表达式常用的:grep,sed,awk(linux三剑客).
4.正则表达式和linux通配符是有本质区别的。
注意事项:a,linux正则表达式一般以行为单位处理的。
b,vim/etc/profilealiasgrep='grep--color=auto'(生效)source/etc/profile

5.linux正则表达式
基础正则表达式:BRE
1)^word表示搜索以word开头的内容grep"^I"test.txt
2)word$表示以word结尾的内容grep".$"test.txt
3)grep"^$"test.txt
4)grep-v"^$"test.txt排除空行
5).代表任意一个字符,(当前目录,加载文件)
6)转义字符.还原小数点grep".$"test.txt
7)*重复0个或多个前面的一个字符grep"o*"test.txt
8).*匹配所以字符.^.*任意多个字符开头。
9)[abc]匹配字符集合内任意一个字符[a-z]
10)[^abc]^表示非,不包含a或b或cgrep"[^0-9]"test.txt
11).{}重复前一个字符(注意加转义)

.{n}至少n次
.{m}至多m次
.{n,m}重复n到m次grep"1{1}"test.txt
grep"1{1,2}"test.txt
grep命令:
-v排除匹配的内容
-E支持扩展的正则表达式
-i忽略大小写
-o只输出匹配的内容
--color=auto匹配的内容显示颜色
-n在行首显示行号
cat-ntest.txt显示行号
wc-l统计行数

POSIX字符:

为了在不同国家的字符编码中保持一至,POSIX(ThePortableOperatingSystemInterface)增加了特殊的字符类,如[:alnum:]是[A-Za-z0-9]的另一个写法。要把它们放到[]号内才能成为正则表达式,如[A-Za-z0-9]或[[:alnum:]]。在linux下的grep除fgrep外,都支持POSIX的字符类。

[:alnum:]#文字数字字符

[:alpha:]#文字字符

[:digit:]#数字字符

[:graph:]#非空字符(非空格、控制字符)

[:lower:]#小写字符

[:cntrl:]#控制字符

[:print:]#非空字符(包括空格)

[:punct:]#标点符号

[:space:]#所有空白字符(新行,空格,制表符)

[:upper:]#大写字符

[:xdigit:]#十六进制数字(0-9,a-f,A-F)

1.显示/etc/passwd文件中以bash结尾的行

wKiom1XirZjxSo7lAABtMiCm-rE287.jpg


2.显示/etc/passwd文件中的两位数或三位数

wKioL1XitI6CHBJyAAMP2xsMAYc803.jpg


3.显示`netstat -tan`命令结果中以‘LISTEN’后跟0个、1个或者多个空白字符结尾的行

wKioL1XiulHzyI_oAAGf3Cfcf-c999.jpg

4.添加用户bash、testbash、basher以及nologin用户(nologin用户的shell为/sbin/nologin);而后找出/etc/passwd文件中用户名与其shell名相同的行

wKioL1XiwGHDBxJuAABeFOtgPag753.jpg


5.显示当前系统上root、centos或者user1用户的默认shell和UID (请事先创建这些用户,若不存在)

wKioL1Xiw0ORQMgSAABVZyEuVhM969.jpg


6.找出/etc/rc.d/init.d/functions文件中某单词(单词中间可以存在下划线)后面跟着一组小括号的行

wKiom1XiwhXxczTcAAFXUpGgIcU717.jpg

7.使用echo输出一个路径,而后egrep找出其路径基名;进一步的使用egrep取出其目录名

wKioL1XixnXhA3hdAABwnLZ2nyA497.jpg


8.找出ifconfig命令执行结果中1-255之间的数字

wKioL1XiyOah626HAAF0xlzmJyg181.jpg

(编辑:李大同)

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

    推荐文章
      热点阅读