2016-04-01 19 views
-1

In meiner Drupal-Installation suchte ich nach allen Instanzen der Variablen $head und grep wird (überwältigend!) Sowohl $head als auch $header zurückgegeben.Wie kann ich eine genaue Zeichenfolge mit Grep suchen?

Welche Params oder Flags kann ich in den Befehl übergeben, damit Grep ONLY $head zurückgibt und nicht $header?

+0

Funktioniert Grep "$ head"? –

Antwort

4

Sie für die exakte Wort -w-Option suchen. Verwenden

grep -w string 
1

können Sie verwenden fgrep (oder grep -F), vom feinen Handbuch:

-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.) 
+1

Dies entspricht immer noch $ header. –

3

Wie andere erwähnt, verwenden -w für grep. Beachten Sie auch die Tatsache, dass Sie einfache Anführungszeichen verwenden müssen; Andernfalls wird der Wert $head um bash in den Wert dieser Variablen erweitert.

grep -w '$head' file 
#  ^ ^
#  single quotes! 

Sie können auch sed verwenden:

sed -n '/\$head\>/p' file 

Der wichtige Teil hier ist \> zu verwenden, um das Ende des Wortes Operator angeben.

$ 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 
Verwandte Themen