用单引号替换所有双引号

Zou*_*ire 44 sed

我试图用单引号替换字符串中的所有双引号.在这里我的表达:

echo "<a href=\"#\" id=\"resendActivationMailLink\">here</a>" | sed "s/\"/'/"
Run Code Online (Sandbox Code Playgroud)

不幸的是,只有第一个双引号被替换:S

<a href='#" id="resendActivationMailLink">here</a> 
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

Tim*_*per 81

您需要将g标志传递给sed:

sed "s/\"/'/g"
Run Code Online (Sandbox Code Playgroud)

  • 为了帮助记住这一点,它是`global`的'g`. (13认同)
  • `echo '“早上好,搞砸了”' | sed 's/"/\\"/g'` (3认同)

Chr*_*our 45

你可以tr在这里使用,简洁而少引用头痛:

tr '"' "'"
Run Code Online (Sandbox Code Playgroud)