我有一个包含许多文件的目录。这些文件包含人们的摘要,描述他们使用编程语言的经验。
当我想要匹配一种只有一个字母的编程语言(例如C
.
对于其他人我没有问题。
grep C++
grep Ada
grep Pascal
grep Scheme
我怎样才能使 grep 匹配C
而不将其与文件中出现的其他单词混淆?
答案1
如果您只想匹配单个字母,C
那么您应该能够grep
轻松完成此操作。添加-i
不区分大小写匹配的标志。
grep -w C *
答案2
你可以使用:
grep -- "\<C\>" your_file
这也能匹配I like C, because ...
。
答案3
一般来说,您的解决方案应该是grep -w C
or grep -P '\bC\b'
,例如罗埃马建议。
要忽略像 之类的特殊情况C++
,您始终可以使用负前瞻:
grep -P "\bC\b(?!\+)" file
(?!\+)
如果后面的第一个字符是 a ,则忽略grep
匹配。 如果有更具体的情况,您也可以编辑这部分代码以匹配它们。C
+