2015-05-04 39 views
3

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

+0

Stack Overflow是用于编程和发展问题的站点。这个问题似乎与题目无关,因为它不涉及编程或开发。请参阅帮助中心的[我可以询问哪些主题](http://stackoverflow.com/help/on-topic)。也许[超级用户](http://superuser.com/)或[Unix&Linux堆栈交换](http://unix.stackexchange.com/)会是一个更好的地方。 – jww

回答

2

你可以做,没有sed

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

要更换所有的 “” 使用这样的:

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

例子:

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

输出:

Hello\,World 
2

你需要逃避反斜杠\/
我不知道你的输入是什么,但这种将工作:

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

输出:

teste\test 

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


如果字符串上的一个文件,你可以使用:

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

不错,但请注意,OP希望用'\,'替换',',而不仅仅是'\'。 – mklement0

相关问题