
Wie kann ich die folgende Zeichenfolge \/
durch |
Folgendes ersetzen:
bssapi_6 0\/0\/0\/9\/9
bssapi_6 0|0|0|9|9
Antwort1
Mit großzügigen Escape-Techniken:
sed 's/\\\//|/g' < inputfile
Verbessern Sie die Lesbarkeit, indem Sie @
als Trennzeichen Folgendes verwenden:
sed 's@\\/@|@g' < inputfile
Antwort2
Entweder:
sed 's/\\\//|/g' your_file
oder verwenden Sie es _
als Mustertrennzeichen, damit wir nicht maskieren müssen /
:
sed 's_\\/_|_g' your_file
Antwort3
Verwendung von awk
:
für Dateiinput
$ cat input
bssapi_6 0\/0\/0\/9\/9
Folgendes würde genügen:
awk '{gsub(/\\\//,"|"); }1' input
\/
Da wir durch ersetzen möchten |
, werden hier sowohl als \
als auch als /
maskiert . Daher ist der reguläre Ausdruck .\\
\/
\\\/