Замена '\/' на sed

Замена '\/' на sed

Как заменить строку ниже \/на |:

bssapi_6 0\/0\/0\/9\/9

bssapi_6 0|0|0|9|9

решение1

При щедром применении побега:

sed 's/\\\//|/g' < inputfile

Сделаем его более читабельным, используя @в качестве разделителя:

sed 's@\\/@|@g' < inputfile

решение2

Или:

sed 's/\\\//|/g' your_file

или, используя _в качестве разделителя шаблона, чтобы нам не нужно было экранировать /:

sed 's_\\/_|_g' your_file

решение3

С использованием awk:

для файлаinput

$ cat input
bssapi_6 0\/0\/0\/9\/9

Подойдет следующее:

awk '{gsub(/\\\//,"|"); }1' input

Поскольку мы хотим заменить \/на |, здесь \и /экранируются как \\и \/соответственно. Поэтому регулярное выражение — \\\/.

Связанный контент