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/" 这个字符串。