文件nls_test.pl
包含一行:$sel->click("//button[text()='OK']");
我想替换字符串
//button[text()='OK']
使用此字符串
//button[text()='".$sel->get_resource_value("oracle.sysman.resources.CommonResourceBundle", "OK")."']
我试过了:
sed -i".bak" 's#"//button[text()='OK']"#"//button[text()='".$sel->get_resource_value("oracle.sysman.resources.CommonResourceBundle", "OK")."']"#g' nls_test.pl
我得到了:sel: Undefined variable
然后我尝试了:
sed -i".bak" 's#"//button[text()='OK']"#"//button[text()='".\$sel->get_resource_value("oracle.sysman.resources.CommonResourceBundle", "OK")."']"#g' nls_test.pl
结果相同:sel: Undefined variable
。
你能告诉我怎么做吗?谢谢!
答案 0 :(得分:1)
试试这个:
sed -i -e "s@//button\[text()='OK'\]\"@//button\[text()='\".\$sel->get_resource_value(\"oracle.sysman.resources.CommonResourceBundle\", \"OK\").\"']@g" nls_test.pl
答案 1 :(得分:1)
这是疯狂的东西,这应该可以工作
x='".\$sel->get_resource_value("oracle.sysman.resources.CommonResourceBundle", "OK")."'
sed -i.bak "s~\$sel->click(\"\(//button\[text()='\)OK\('\)\]\");~\1$x\2]~" file