![为什么 grep 只允许我搜索整个单词](https://linux22.com/image/153082/%E4%B8%BA%E4%BB%80%E4%B9%88%20grep%20%E5%8F%AA%E5%85%81%E8%AE%B8%E6%88%91%E6%90%9C%E7%B4%A2%E6%95%B4%E4%B8%AA%E5%8D%95%E8%AF%8D.png)
我正在尝试 grep 一些与“enforce”匹配的任何代码的代码,以下内容有效并显示结果:
grep --include=\*.rb -rnw . -e enforce
但以下没有给出结果:
grep --include=\*.rb -rnw . -e enforc
如何 grep 查找包含“enforc”的任何内容?
答案1
w
从选项中删除:
grep --include=\*.rb -rn . -e enforc
-w, --word-正则表达式
仅选择包含构成整个单词的匹配项的行。测试是匹配的子字符串必须位于行的开头,或者前面有一个非单词组成字符。同样,它必须位于行尾或后跟非单词组成字符。单词组成字符是字母、数字和下划线。