Ich möchte nach der Zeichenfolge suchen, die mit einem Bindestrich beginnt, z. B. -X
in einer Datei, aber es verwechselt dies mit einem Befehlszeilenargument.
Ich habe es versucht:
grep "-X"
grep \-X
grep '-X'
Ich möchte nach der Zeichenfolge suchen, die mit einem Bindestrich beginnt, z. B. -X
in einer Datei, aber es verwechselt dies mit einem Befehlszeilenargument.
Ich habe es versucht:
grep "-X"
grep \-X
grep '-X'
Der korrekte Weg wäre die Verwendung von "--", um die Verarbeitung von Argumenten zu stoppen, wie bereits erwähnt. Das liegt an der Verwendung von getopt_long (GNU C-Funktion aus getopt.h) im Quelltext des Tools.
Das ist der Grund, warum Sie das gleiche Phänomen bei anderen Kommandozeilen-Tools beobachten können; da die meisten von ihnen GNU-Tools sind und diesen Aufruf verwenden, zeigen sie das gleiche Verhalten.
Nebenbei bemerkt - getopt_long gibt uns die Möglichkeit, zwischen -rlo und --really_long_option und der Kombination von Argumenten im Interpreter zu wählen.
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.