Ersetzen von '\/'' durch sed

Ersetzen von '\/'' durch sed

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 .\\\/\\\/

verwandte Informationen