天天看点

grep -w 的解析_学习笔记

grep -w 用来指定我们要匹配的词组,这里就是在pattern的写法上要注意下

,正常词组是字母,数字和下划线来组成词组,

但是我们查找的时候呢,如果想要找x+y=z 这个表达式,其实也可以当做一个词组 这个时候一定要加引号就行了 grep -w "x+y=z" ????

不对这么解释也不对

还有一个就是在用\<pattern\>来定位一个词的词首和词尾时,要注意的是pattern的写法,就是pattern行的开始和结束不能使用非词组字符,就是不能使用除字母数字和下划线开始的一些字符,比如:?之类的

echo "/abc" | grep   "\</abc\>"这样子的写法是不生效的 echo $? 为1,1说明其他情况,找到才是0的退出状态,如果为2就是有错误。

echo "abc/" | grep   "\<abc/\>"\<abc/\>这样子的写法也不生效的echo $? 为1

ehco "_abc" | grep  "\<_abc\>"  会正常匹配输出_abc    echo $? 为0说明成功。

这个时候\</abc\>的意义就是 去找以/为词首,然后跟abc的字符,首先词首不能为除字母数字下划线外的东西,所以是不成立的就不存在找不找的问题,按理来说应该说退出状态2,为语法错误的。但是报的1的错误,所以具体的作用还是有待验证。

abc/这个应该是以"\<abc\>/" 以abc为一个词然后用\<\>锚定词首词尾,然后加上/来表示"abc/" 这个字符串。

本文转自 lajifeiwomoshu 51CTO博客,原文链接:http://blog.51cto.com/lajifeiwomoshu/1983845

继续阅读