Linux 中sed选项 \b 和 \B的用法

 

\b表示限位符,\B表示与\b相反的匹配

01、\b 

复制代码
[root@PC1 test2]# ls
a.txt
[root@PC1 test2]# cat a.txt                        ## 测试数据
ab xyky 3d
ma abki ff
ec dfab ff
fg ab   kk
ad ff   ab
ad fabe jy
[root@PC1 test2]# sed 's/\bab/\U&/g' a.txt        ## \b表示限位符,匹配开头、结尾或者空格;该例中表示匹配ab的左侧必须是开头或者空格
AB xyky 3d
ma ABki ff
ec dfab ff
fg AB   kk
ad ff   AB
ad fabe jy

[root@PC1 test2]# cat a.txt                         ## 测试数据
ab xyky 3d
ma abki ff
ec dfab ff
fg ab kk
ad ff ab
ad fabe jy
[root@PC1 test2]# sed 's/ab\b/\U&/g' a.txt           ## 该例中表示ab的右侧必须是空格或者结尾符
AB xyky 3d
ma abki ff
ec dfAB ff
fg AB kk
ad ff AB
ad fabe jy

 
复制代码

 

02、\B

复制代码
[root@PC1 test2]# ls
a.txt
[root@PC1 test2]# cat a.txt                        ## 测试文本
ab xyky 3d
ma abki ff
ec dfab ff
fg ab   kk
ad ff   ab
ad fabe jy
[root@PC1 test2]# sed 's/\bab/\U&/g' a.txt        ## \b选项,限位符
AB xyky 3d
ma ABki ff
ec dfab ff
fg AB   kk
ad ff   AB
ad fabe jy
[root@PC1 test2]# cat a.txt
ab xyky 3d
ma abki ff
ec dfab ff
fg ab   kk
ad ff   ab
ad fabe jy
[root@PC1 test2]# sed 's/\Bab/\U&/g' a.txt       ## \B匹配的范围与\b相反;及\b没有匹配到的,\B可以匹配到
ab xyky 3d
ma abki ff
ec dfAB ff
fg ab   kk
ad ff   ab
ad fABe jy
复制代码

 。

 

\b表示匹配文本中单词的开头或结尾字符,同时匹配字符组成的单词,\bxx表示匹配xx字符开头单词的xx位置,xx\b表示匹配xx字符结尾单词的xx位置,\bxx\b表示匹配单独以xx字符组成的单词 **3. \B表示匹配文本中非单词开头和结尾字符,\Bxx表示匹配xx字符结尾单词的xx位置,xx\B表示匹配xx字符开头单词的xx位置,\Bxx\B表示匹配xx字符在文本中非单词开头和结尾的xx位置 ** **4. \bxx\B表示匹配xx字符开头单词但不包括xx字符组成的单词,定位单词的xx位置 ** **5. \Bxx\b表示匹配xx字符结尾单词但不包括xx字符组成的单词,定位单词的xx位置 ** 

 

参考:

01、http://www.noobyard.com/article/p-pfmiiypu-ny.html

 

posted @   小鲨鱼2018  阅读(261)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
历史上的今天:
2023-02-17 linux 中 正则表达式 匹配任意标点符号[[:punct:]]
2023-02-17 linux 中判断一列数值是否都完全相同
2023-02-17 vim 中 配色方案的调整
2023-02-17 普通用户安装vim 9.0后注释行后模糊的解决方法
2023-02-17 普通用户安装vim 9.0后无法复制的解决
点击右上角即可分享
微信分享提示