如何使用 sed 将字符串中的逗号替换为“\,”

How do I replace a comma to "\," in a string using sed

我有一个字符串,我需要使用 shell 脚本将其中的“,”替换为“\,”。我以为我可以使用 sed 来做到这一点,但没有运气。

没有 sed 也可以这样做:

string="${string/,/\,}"

要替换所有出现的“,”,请使用:

string="${string//,/\,}"

示例:

#!/bin/bash
string="Hello,World"
string="${string/,/\,}"
echo "$string"

输出:

Hello\,World

您需要转义反斜杠 \/
我不确定你的输入是什么,但这会起作用:

echo "teste,test" |sed  's/,/\/g'

输出:

teste\test

演示: http://ideone.com/JUTp1X


如果字符串在文件中,您可以使用:

sed -i 's/,/\//g' myfile.txt