这可能很简单,但我有一些文字
Aasfdsajdf/safdhglah(作为示例)
我希望它是
Aasfdsajdf\/safdhglah
我尝试了多个 sed 选项,但仍然找到了给出正确结果的选项。有什么建议请。
答案1
答案2
echo "Aasfdsajdf/safdhglah" |sed 's/\//\\\//g'
答案3
该sed
实用程序的s
(“替代”)命令可以使用以下命令来执行此操作
sed 's#/#\\/#g'
所以,
echo 'Aasfdsajdf/safdhglah' | sed 's#/#\\/#g'
会输出
Aasfdsajdf\/safdhglah
#
表达式中的是sed
分隔符,通常写为/
。由于我们在这里处理替换/
,因此我们使用另一个分隔符来避免牙签倾斜综合症。
如果您正在使用bash
并将字符串放在变量中,那么您可以使用
string='Aasfdsajdf/safdhglah'
printf '%s\n' "${string////\\/}"
得到相同的输出。这里我们使用${string//word/replacement}
with word
being/
和replacement
being \\/
(即文字\
和a /
,就像sed
替换中一样)。