linux中精确匹配如何避免标点符号的影响

 

001、问题

复制代码
[root@PC1 test]# ls
a.txt
[root@PC1 test]# cat a.txt           ## 测试数据
73 dar 87
32 dar.3 fdg
fd dar-5 dg
df dar~df gfdg
df ee.dar 34
er fd-dar 767
df df~dar.fd 76
der dar kdf
df afdarikh 76
dar kkk ff
dfd fdf dar
[root@PC1 test]# grep -w "dar" a.txt    ## -w并不能实现真正的精确匹配
73 dar 87
32 dar.3 fdg
fd dar-5 dg
df dar~df gfdg
df ee.dar 34
er fd-dar 767
df df~dar.fd 76
der dar kdf
dar kkk ff
dfd fdf dar
[root@PC1 test]# grep "\<dar\>" a.txt      ## 也不能实现真正的精确匹配
73 dar 87
32 dar.3 fdg
fd dar-5 dg
df dar~df gfdg
df ee.dar 34
er fd-dar 767
df df~dar.fd 76
der dar kdf
dar kkk ff
dfd fdf dar
复制代码

 

 

002、解决方法

复制代码
[root@PC1 test]# ls
a.txt
[root@PC1 test]# cat a.txt
73 dar     87
32 dar.3 fdg
fd dar-5 dg
df dar~df gfdg
df ee.dar 34
er fd-dar 767
df df~dar.fd 76
der dar kdf
df afdarikh 76
dar kkk ff
dfd fdf dar
[root@PC1 test]# grep "\sdar\s" a.txt                    ## 关键字加空白符
73 dar     87
der dar kdf
[root@PC1 test]# grep -E "\sdar\s|^dar\s" a.txt          ## 利用grep扩展,增加开头匹配项
73 dar     87
der dar kdf
dar kkk ff
[root@PC1 test]# grep -E "\sdar\s|^dar\s|\sdar$" a.txt   ## 增加结尾匹配项
73 dar     87
der dar kdf
dar kkk ff
dfd fdf dar
复制代码

 

posted @   小鲨鱼2018  阅读(63)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2021-06-03 c语言 12-1
2021-06-03 c语言 11-10
2021-06-03 c语言 11-8
2021-06-03 c语言 11 - 7
2021-06-03 c语言中atoi、atol、atof函数,字符串转换函数
2021-06-03 c语言中strncmp函数,函数原型,头文件
2021-06-03 c语言中strcmp函数, 函数原型、头文件
点击右上角即可分享
微信分享提示