sed用一个替换两个开放括号

时间:2018-03-27 02:54:42

标签: sed

我有一个包含

等行的文件
 echo (hello world)

我希望输出为

sed  's/echo \(\(/echo \(\/' myfile

知道如何用sed完成这个任务吗?

tabsetPanel()
  

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

1 个答案:

答案 0 :(得分:1)

你不小心逃过了分隔符:

sed 's/echo \(\(/echo \(\/' myfile
                        ^

我发现你没有使用sed -E,所以你放弃所有斜线都比BRE更好,括号和括号不应该被转义,而不是ERE。所以正确的命令是(两者中的任何一个):

sed    's/echo ((/echo (/'    myfile
sed -E 's/echo \(\(/echo \(/' myfile