1

文件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.

你能告诉我怎么做吗?谢谢!

4

2 回答 2

1

尝试这个:

sed -i -e "s@//button\[text()='OK'\]\"@//button\[text()='\".\$sel->get_resource_value(\"oracle.sysman.resources.CommonResourceBundle\", \"OK\").\"']@g" nls_test.pl
于 2013-09-17T09:32:22.223 回答
1

这是疯狂的东西,但这应该可以

x='".\$sel->get_resource_value("oracle.sysman.resources.CommonResourceBundle", "OK")."'
sed -i.bak "s~\$sel->click(\"\(//button\[text()='\)OK\('\)\]\");~\1$x\2]~" file
于 2013-09-17T09:44:39.043 回答