首页 > 解决方案 > sed:反斜杠撇号模式替换

问题描述

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

我正在尝试以下 sed 命令:

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

但我收到以下错误:

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

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

标签: sedescaping

解决方案


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

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

或者:

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

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


推荐阅读