我使用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'命令
关于如何解决这个问题的任何想法?
答案 0 :(得分:1)
将斜杠改为olddescription
:
olddescription='(1 phrase\/line)';
然后,你可以试试这个:
sed -i "s/$olddescription/$newdescription/g" __openerp__.py