如何使用 grep 搜索后面和/或前面有非字母字符的单词?

如何使用 grep 搜索后面和/或前面有非字母字符的单词?

我想搜索 javascript 变量。因此,如果我的变量是 geometry,我希望 grep 返回所有这样的行,例如

geometry.property1
myfunc(geometry)

ETC..

但不是这些

geometryMark.property2

或者

mygeometry.property3

因此基本上不要返回几何图形后面和/或前面有 az 或 AZ 字符的实例

答案1

你应该可以用开关做到这-w一点

-w, --word-regexp
          at  the  beginning  of  the  line,  or  preceded  by  a non-word
          of  the  line  or  followed by a non-word constituent character.

例如,你的例子的匹配项是

$ grep -w 'geometry' myfile
geometry.property1
myfunc(geometry)

以及不匹配

$ grep -vw 'geometry' myfile
geometryMark.property2
mygeometry.property3

相关内容