我想使用sed命令将特殊字符“ /”替换为特殊字符“ *”。 例子-
I / YOU.
I * YOU.
答案 0 :(得分:0)
如评论Escaping forward slashes in sed command
中所述您可以使用代替
sed "s/target/replacement/" file
要么
sed "s|target|replacement|" file
或
sed "s@target@replacement@" file
命令:
$ echo "I / YOU." | sed 's@/@*@'
I * YOU.
查看sed
接受的语法时,通常来说:
[2addr] s / BRE /替换/标志
将替换字符串替换为BRE实例中的 模式空间。 反斜杠或换行符以外的任何其他字符都可以 用于代替BRE和替代品。中 BRE及其替代,BRE分隔符本身可以用作 文字字符(如果前面带有反斜杠)。
您还可以采用另一种方法,其中您不更改分隔符,但使用要替换的字符的十六进制值,这也可以避免歧义。 (http://www.asciitable.com/)
$ echo "I / YOU." | sed 's/\x2F/*/'
I * YOU.