weedy hat geschrieben:
Code: Alles auswählen
-x, --line-regexp
Select only those matches that exactly match the whole line.
This option has the same effect as anchoring the expression with
^ and $. (-x is specified by POSIX.)
Nun ist die Frage, da ja bei 'grep -F' (fixed Strings) eigentlich keine regulären Ausdrücke sind und '^' und '$' da auch keine Beduetung haben, widerspricht mein Code-Beispiel eigentlich der Dokumentation.
Nun ist die Frage: wird mir das Konstrukt 'grep -Fx' mir irgendwann um die Ohren fliegen oder bin ich auf der sicheren Seite?
Du brauchst dir keine Sorgen machen. Die Beschreibung fuer `-x' gilt ebenso fuer `grep -F' wie auch fuer das normale `grep' als auch fuer `grep -E', darum die allgemeine Formulierung. Es steht auch auch nicht da ``is the same as ...'', sondern ``has the same effect as ...'' und dieser Effekt bezieht sich auf den Effekt beim normalen grep.
Falls du dir aber sicher sein willst, dann schau nicht in die Manpage sondern in POSIX:
Da gibt es nun keine Mehrdeutigkeit mehr.
EDIT: Wenn du nun noch den Kommentar in POSIX unter Rationale beruecksichtigst, dass es `-x' frueher nur fuer fgrep (d.h. fuer `-F') gab -- aus dem einfachen Grund, weil man dort eben keine Anker verwenden kann --, dann wirst du umso gewisser sein, dass `-x' mit `-F' am allersichersten funktionieren wird. (Bei den anderen grep-Varianten ist `-x' nur zur Bequemlichkeit und Symmetrie da.)