sed:反斜杠撇号模式替换

时间:2018-12-15 17:46:12

标签: sed escaping

我需要用文件中的\'\ ')全局替换模式\[space]'

我正在尝试以下sed命令:

sed 's/\\\'/\\ \'/g' »In-file« > »Out-file«

但是出现以下错误:

  

sed:-e表达式1,字符7:未终止的s命令

在这种情况下调用sed的正确方法是什么?

1 个答案:

答案 0 :(得分:3)

这可能对您有用(GNU sed):

sed 's/\\'\''/\\ '\''/g' fileIn > fileOut

或者:

sed "s/\\\'/\\\ '/g" fileIn > fileOut

第一个解决方案在外壳上打了一个洞,并获取了一个带引号的单引号,而第二个解决方案则将sed脚本用双引号引起来。在这两种情况下,反斜杠都必须用反斜杠引起来。