Bash - ersetzen Sie Schrägstrich

8

Angenommen, ich habe eine Variable

DATE="04/Jun/2014:15:54:26" .

Ich muss / durch \/ ersetzen, um die Zeichenfolge "04\/Jun\/2014:15:54:26" zu erhalten.

Ich habe tr command versucht - echo "04\Jun14:15:54:26" | tr '\' '\/'

mit dem Ergebnis "04\Jun14:15:54:26" .

Es befriedigt mich nicht. Kann jemand helfen?

    
user109447 06.06.2014, 08:45
quelle

3 Antworten

25

Sie brauchen kein Echo + eine Pipe + sed.

Eine einfache Substitutionsvariable ist genug und schneller:

%Vor%     
Luc-Olivier 06.06.2014 09:03
quelle
4

Verwenden Sie SED für Substitutionen:

%Vor%

Normalerweise verwenden Sie "/" anstelle von "#", aber solange es dort ist, spielt es keine Rolle.

Ich schreibe dies auf einem Windows-PC, also hoffe ich, dass es richtig ist, müssen Sie den Schrägstrichen mit einem anderen Schrägstrich entkommen.

Sed erklärt, das "-e", lässt Sie die Datei an Ort und Stelle bearbeiten. Sie können -i verwenden, um automatisch Backup zu erstellen.

%Vor%     
n34_panda 06.06.2014 08:50
quelle
2

hier gehen Sie:

%Vor%

Ihre tr -Zeile war nicht korrekt, Sie könnten falsch verstehen, was tr macht, tr 'abc' 'xyz' wird a->x, b->y, c->z ändern, nicht ganze abc->xyz ändern ..

    
Kent 06.06.2014 08:50
quelle

Tags und Links