在我的Drupal安装中,我正在搜索变量$head
的所有实例,而grep
正在返回(绝大多数!)$head
和$header
。
我可以将哪些参数或标志传递给命令,以便grep ONLY仅返回$head
,而不是$header
?
答案 0 :(得分:4)
您可以使用-w选项搜索确切的单词。 使用
grep -w string
答案 1 :(得分:3)
正如其他人所提到的,请-w
使用grep
。另请注意,您需要使用单引号;否则,值$head
将通过bash扩展为此变量的值。
grep -w '$head' file
# ^ ^
# single quotes!
您还可以使用sed
:
sed -n '/\$head\>/p' file
这里重要的部分是使用\>
表示单词操作符的结尾。
$ cat a
hello $head is header blabla yea
hello head is $header blabla yea
$ sed -n '/\$head\>/p' a
hello $head is header blabla yea
答案 2 :(得分:1)
您可以使用精细手册中的fgrep
(或grep -F
):
-F --fixed-strings Interpret the pattern as a list of fixed strings (instead of regular expressions), separated by newlines, any of which is to be matched. (-F is specified by POSIX.)