在网上寻找解决方案后,我可以 grep 查找两个连字符,而不会出现grep -r "\-\-"
or 的问题grep -r \\ --
。但是 grep 搜索的文件有时会包含充满连字符的行,例如在注释中,例如/*--------- comment ----- */
.我想 grep 返回只有两个连字符相邻的情况。例如,--
而不是---
。理想情况下我可以使用,-w
但我没有运气。
难题的第二部分是,如果以某种方式我只能 grep 查找两个连续的连字符--
,我想找到该模式,就像它是完美匹配一样-w
。因此,类似的i--;
结果不会出现。但i --
会。也许有一个简单的解决方案,但我似乎无法弄清楚。
答案1
至少如果你有 GNU grep,你可以使用 PCRE环顾四周匹配一对前面和后面都没有连字符的连字符:
grep -P '(?<!-)--(?!-)' file
或者
grep -Pw '(?<!-)--(?!-)' file