grep -F -r '0.49' *
behandelt 0,49 als "festen" String statt als regulären Ausdruck. Das ergibt .
seine besondere Bedeutung verlieren.
grep
verwendet reguläre Ausdrücke; .
bedeutet "beliebiges Zeichen" in einer Regex. Wenn Sie eine wörtliche Zeichenfolge wünschen, verwenden Sie grep -F
, fgrep
, oder maskieren Sie .
bis \.
.
Vergessen Sie nicht, Ihren String in doppelte Anführungszeichen zu setzen. Andernfalls sollten Sie \\.
verwenden
Ihr Befehl müsste also lauten:
grep -r "0\.49" *
oder
grep -r 0\\.49 *
oder
grep -Fr 0.49 *
Sie müssen .
maskieren als "0\.49"
.
Ein .
ist ein Regex-Metazeichen, das mit jedem Zeichen übereinstimmt (außer Newline). Um einen wörtlichen Punkt zu finden, müssen Sie ihn maskieren.