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