在bash / sed中转义括号

时间:2017-07-28 15:48:00

标签: bash sed

我使用bash和sed在字符串中转义括号时出现了一些问题。

这就是我正在做的事情:

#!/bin/bash 
olddescription='(1 phrase/line)'
newdescription="\"$volledigenaam\""
(cd /home/hew/git/odoo/addons/$technischenaam ; sed -i s/$olddescription/$newdescription/g __openerp__.py)

我读过如果我使用单引号,我不需要转义括号。 我也尝试用反斜杠转义括号,但也没有用。

这是错误:

  

sed:-e表达式#1,char 4:未终止的's'命令

关于如何解决这个问题的任何想法?

1 个答案:

答案 0 :(得分:1)

将斜杠改为olddescription

的值

olddescription='(1 phrase\/line)';

然后,你可以试试这个: sed -i "s/$olddescription/$newdescription/g" __openerp__.py