der Ausgang für die folgenden zwei Befehle sind die gleichen:‚‘ Backslash in Hochkommata unvorhersehbar Ausgang in Shell-Skript gibt linux
echo 'my\name' | grep 'my\\name'
my\name
und auch der Ausgang für den nächsten Befehl ist auch gleich,
echo 'my\name' | grep 'my\\\name'
my\name
Kann jemand pls führen, warum es in der gleichen Ausgabe resultiert? Warum wirkt sich ein zusätzlicher Backslash auch nicht auf die Ausgabe aus?
jedoch, wenn wir die Anzahl der Backslash zu vier in grep dann der Ausgabe weggeht erhöhen,
echo 'my\name' | grep 'my\\\\name'
keine Ausgabe
Pls leitet mich mit dem Verhalten von grep und Backslash in Einzel- und Doppel Zitate.
superuser.com wäre der richtige Ort, um diese zu fragen .... – tod
@tod oder [unix.se]:
Es wird mit diesen Beispielen klar sein? –
grep akzeptiert Regex, schauen Sie, wie Backslashes in Regex für eine Antwort verhalten (vielleicht dies, http: //stackoverflow.com/questions/4025482/cant-escape-the-backslash-with-regex). Wenn Sie einfach eine exakte Übereinstimmung wollen, verwenden Sie 'grep -F ' – 123