我有一个包含以下
的文件“test.txt”+foo+
+bar+
我想要做的是将它们替换为:
'foo'
'bar'
但为什么这段代码不起作用?
sed 's/\+/\'/' test.txt
这样做的正确方法是什么?
答案 0 :(得分:20)
请改用"
。并添加g
标志以替换所有。
sed "s/\+/\'/g" test.txt
答案 1 :(得分:4)
这可能适合你(GNU sed):
sed 'y/+/'\''/' file
答案 2 :(得分:3)
您还可以使用+
替换文件中'
的{{1}}的所有实例:
tr
答案 3 :(得分:2)
+
不是在sed中没有-r
开关的特殊字符。您可以在没有任何转义的情况下运行替换命令:
echo '+foo+' | sed "s/+/'/g"
# output: 'foo'
如果要保存更改的文件,请使用:
sed -i.bak "s/+/'/g" test.txt