2017-06-01 7 views
1

Es gibt eine Option in grep die genaue Zeichenfolge "-F"Grep feste Zeichenfolge ist greppen nicht genau string, string Ende mit zusätzlichen Zeichen '-' auch kommt

-F, --fixed zu suchen -Strings

Es funktioniert völlig in Ordnung, wenn es zwei Wörter gibt, wobei eins das zu suchende Wort ist und ein anderes alphabetisches Zeichen angehängt ist. Wenn das andere Wort jedoch ein Sonderzeichen wie '-' enthält, stimmt grep -F oder grep -w nicht mit dem korrekten Ergebnis überein.

grep -w "hello" test1 
hello 
hello- 

cat test1 
hello 
hello- 
hellotest 

Idealerweise sollte nur die erste Zeile ins Ergebnis kommen.

+0

'-' kein Wortzeichen ist so' -w' noch 'hello' als komplettes Wort übereinstimmen. – anubhava

+0

Was passiert, wenn die Zeile 'hallo sometext hallo' enthält? – RomanPerekhrest

Antwort

1

- ist kein Wortzeichen, daher passt -w immer noch hello als vollständiges Wort.

können Sie -x Option für genaue Übereinstimmung verwenden:

grep -Fx 'hello' test1 

hello