(')的sed用法

时间:2013-11-01 16:24:48

标签: bash unix sed

关于将(“)双引号替换为(')单引号,我对sed的使用有点困惑。我在sed中尝试了很多组合,但不知怎的,它不允许这种特殊的转换。

非常感谢任何帮助。

ps:我也对其他替换方法持开放态度,但它应该在bash中运行良好(UNIX)

4 个答案:

答案 0 :(得分:2)

您可以使用is as:

s='abc"def"123'
echo "$s"|sed "s/\"/'/g"

abc'def'123

答案 1 :(得分:2)

如果只替换一个字符,您也可以使用tr

$ printf '%s\n' '"Hello"' | tr \" \'
'Hello'

现在我希望你不是以某种方式“消毒”一些用户输入......

答案 2 :(得分:1)

您可以尝试这样的事情:

[ ~]$ echo "'Hello'"|sed "s/'/\"/g"
"Hello"

相反:

[ ~]$ echo \"Hello\"|sed "s/\"/'/g"
'Hello'

否则,如果您愿意,可以使用tr代替sed

[ ~]$ echo \"Hello\"|tr "\"" "'"
'Hello'

答案 3 :(得分:0)

这可能对您有用:

sed 'y/'\''/"/' file