Você precisa escapar de caracteres especiais como /
e \
prefixando-os com \
sed 's/\//\\//g' <file>
Você pode procurar aqui para obter detalhes sobre o sed
guide
Isso pode ser simples, mas eu tenho algum texto
Aasfdsajdf / safdhglah (como exemplo)
e eu quero que seja
Aasfdsajdf \ / safdhglah
Eu tentei várias opções de sed, mas ainda assim encontrei algo que fornecesse o resultado correto. Qualquer sugestão, por favor.
Você precisa escapar de caracteres especiais como /
e \
prefixando-os com \
sed 's/\//\\//g' <file>
Você pode procurar aqui para obter detalhes sobre o sed
guide
echo "Aasfdsajdf/safdhglah" |sed 's/\//\\//g'
O comando sed
("substitute") do utilitário s
pode fazer isso usando
sed 's#/#\/#g'
Então,
echo 'Aasfdsajdf/safdhglah' | sed 's#/#\/#g'
produziria
Aasfdsajdf\/safdhglah
Os #
na expressão sed
são os delimitadores que geralmente são gravados como /
. Como estamos lidando com a substituição de /
aqui, usamos outro delimitador para evitar a síndrome do palito inclinado .
Se você estiver usando bash
e tiver a string em uma variável, então você pode usar
string='Aasfdsajdf/safdhglah'
printf '%s\n' "${string////\/}"
para obter o mesmo resultado. Aqui usamos ${string//word/replacement}
com word
sendo /
e replacement
sendo \/
(ou seja, um literal \
e um /
, assim como na sed
de substituição).
Tags sed