如何使用SED替换文件内的撇号

nev*_*int 14 unix linux sed

我有一个文件"test.txt",其中包含以下内容

+foo+
+bar+
Run Code Online (Sandbox Code Playgroud)

我想要做的是将它们替换为:

'foo'
'bar'
Run Code Online (Sandbox Code Playgroud)

但为什么这段代码不起作用?

sed  's/\+/\'/' test.txt
Run Code Online (Sandbox Code Playgroud)

什么是正确的方法呢?

fal*_*tru 22

"改用.并添加g标志以替换所有.

sed  "s/\+/\'/g" test.txt
Run Code Online (Sandbox Code Playgroud)


pot*_*ong 5

这可能适用于yoyu(GNU sed):

sed 'y/+/'\''/' file
Run Code Online (Sandbox Code Playgroud)