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
分类:
linux shell
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源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后无法复制的解决