在文本文件中用双引号替换字符串

时间:2013-06-24 21:32:45

标签: regex perl sed awk

我正在使用以下命令:

perl -pi -w -e 's/EmployeeDataModel/EmployeeData/g;' *.java 

这改变了:

class EmployeeDataModel to class EmployeeData

然而,当拿东西时:

class="EmployeeDataModel" 

它似乎没有做任何事情。

有没有解决这个问题的方法?

2 个答案:

答案 0 :(得分:3)

GNU代码

$echo class="EmployeeDataModel" |sed s/EmployeeDataModel/EmployeeData/g
class="EmployeeData"

也有效:

$echo class="EmployeeDataModel" |perl -pi -w -e s/EmployeeDataModel/EmployeeData/g;
class="EmployeeData"

答案 1 :(得分:2)

你真的确定吗? 这是我的第一个文件:

$ cat perl_test
class EmployeeDataModel
class="EmployeeDataModel"

现在更换你的perl:

$ cat perl_test | perl -pi -w -e 's/EmployeeDataModel/Test/g'
class Test
class="Test"

你一定做错了,可能是你的字符串内容中的拼写错误,或类似的东西。