
Como posso substituir a string abaixo \/
por |
algo como:
bssapi_6 0\/0\/0\/9\/9
bssapi_6 0|0|0|9|9
Responder1
Com quantidades liberais de escape aplicadas:
sed 's/\\\//|/g' < inputfile
Tornando-o mais legível usando @
como separador:
sed 's@\\/@|@g' < inputfile
Responder2
Qualquer:
sed 's/\\\//|/g' your_file
ou, usando _
como delimitador de padrão para não precisarmos escapar de /
:
sed 's_\\/_|_g' your_file
Responder3
Usando awk
:
para arquivoinput
$ cat input
bssapi_6 0\/0\/0\/9\/9
O seguinte faria:
awk '{gsub(/\\\//,"|"); }1' input
Como queremos substituir \/
por |
, aqui ambos \
e /
são escapados como \\
e \/
respectivamente. Portanto regex é \\\/
.