正则表达式

正则表达式,使用某些符号结合相关工具对文本进行,筛选,过滤,查找
在这里插入图片描述
在这里插入图片描述

[root@server0 ~]# grep "^root" user 
搜索以root开头
[root@server0 ~]# grep "bash$" user 
搜索以bash结尾
[root@server0 ~]# grep "[root]" user 	 
匹配中括号内的任意单个字符,有r或o或t
[root@server0 ~]# grep "[^root]" user
匹配中括号内的任意单个字符,有r或o或t,进行取反
[root@server0 ~]# grep "ro.." user
匹配以ro开头后面跟两个任意字符
[root@server0 ~]# grep "ro*t" user
匹配rot其中o可以出现任意次数,零次也可以
[root@server0 ~]# grep ".*" user
匹配所有字符包括空行
[root@server0 ~]# grep "." user
匹配任意字符包括空格
[root@server0 ~]# grep "ro/{2,3/}t" user
匹配rot,其中o出现次数最少2次最多3次
[root@server0 ~]# grep "ro/{2/}t" user
匹配rot,其中o出现次数必须2次
[root@server0 ~]# grep "ro/{2,/}t" user
匹配rot,其中o出现次数最少2次最多无数次
[root@server0 ~]# grep "\(ro\)/{2,/}t" user
匹配rot,其中ro出现次数必须2次
[root@server0 ~]# egrep "(ro)/{2,/}t" user
匹配rot,其中ro出现次数必须2次
[root@server0 ~]# grep "[0-9]" user
匹配所有数字
[root@server0 ~]# grep "[a-z]" user
匹配所有小写字母
[root@server0 ~]# grep "[A-Z]" user
匹配所有大写字母
[root@server0 ~]# egrep "ro+t" user
匹配rot,其中o出现次数不限制
[root@server0 ~]# grep "ro{2}t" user
匹配rot,其中o出现次数2次
[root@server0 ~]# egrep "ro?t" user
匹配rot,其中o出现次数0~1次
[root@server0 ~]# egrep "root|tpp" user
匹配root或者tpp
[root@server0 ~]# egrep "the/b" user
匹配the,其右边不能有数字,字母,下划线
[root@server0 ~]# egrep "/bthe/b" user
匹配the,其左右两边不能有数字,字母,下划线

sed 对文档增删改查,非交互式,流式编辑器,逐行处理
使用格式

  1. 前置指令 | sed 选项 (定址符)指令
  2. sed 选项 定址符)指令 被处理文档

选项 -n 屏蔽默认输出 -r 支持扩展正则 -i 写入文件
指令 p 输出 d 删除 s 替换
输出

[root@server0 ~]# sed -n 'p' user
输出所有行
[root@server0 ~]# sed -n '2p' user
输出第2行
[root@server0 ~]# sed -n '2,4p' user
输出2到4行
[root@server0 ~]# sed -n '2p;4p' user
输出第2行和第4行
[root@server0 ~]# sed -n '2-2p' user
输出第2行然后每隔两行输出,偶数行输出
[root@server0 ~]# sed -n '1-2p' user
输出第1行然后每隔两行输出,奇数行输出
[root@server0 ~]# sed -n '2,+2p' user
输出第2行,再多输出后面2行
[root@server0 ~]# sed -n '=' user
显示行号
[root@server0 ~]# sed -n '$=' user
显示末尾行号
[root@server0 ~]# sed -n '/^root/p' user
以正则方法匹配以root开头的行,并且显示出来
[root@server0 ~]# sed -n '/bash$/p' user
以正则方法匹配以bash结尾的行,并且显示出来
[root@server0 ~]# sed -n '/root|bin/p' user
以正则方法匹配有root或bin的行,并且显示出来

删除

[root@server0 ~]# sed -n 'd' user
删除所有行
[root@server0 ~]# sed -n '2d' user
删除第2行
[root@server0 ~]# sed -n '2,4d' user
删除2到4行
[root@server0 ~]# sed -n '2d;4d' user
删除第2行和第4行
[root@server0 ~]# sed '$d' user
删除最后一行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值