Ersetzen Sie den Schrägstrich mit einem doppelten umgekehrten Schrägstrich in doppelten Anführungszeichen

8

Ich versuche verzweifelt, einen Schrägstrich ( / ) durch doppelten umgekehrten Schrägstrich in Anführungszeichen ( "\" )

zu ersetzen

aber

%Vor%

funktioniert nicht, und ich habe keine Ahnung warum. Es ersetzt immer nur einen Backslash und nicht zwei

    
wa4557 29.06.2013, 10:36
quelle

3 Antworten

21

Wenn / Teil eines regulären Ausdrucks ist, den Sie mit dem s (substitute) -Befehl von sed ersetzen möchten, können Sie ein anderes Zeichen anstelle des Schrägstrichs in der Befehlssyntax verwenden. zum Beispiel:

%Vor%

über , wurde anstelle des üblichen Schrägstrichs verwendet, um zwei Parameter des Befehls s zu begrenzen: der reguläre Ausdruck, der den zu ersetzenden Teil und die Zeichenfolge, die als Ersatz verwendet werden soll, beschreibt.

Das obige ersetzt jeden Schrägstrich durch zwei Backslashes. Ein Backslash ist ein spezielles (zitierendes) Zeichen, also muss es zitiert werden, hier wird es mit sich selbst zitiert, deshalb brauchen wir 4 Backslashes um zwei Backslashes darzustellen.

%Vor%     
piokuc 29.06.2013, 10:41
quelle
14

Wie wäre es damit?

%Vor%

Demo in einer Shell:

%Vor%     
gniourf_gniourf 29.06.2013 10:38
quelle
0

Eine andere Möglichkeit: tr '/' '\'

%Vor%     
jaypal singh 29.06.2013 14:45
quelle

Tags und Links