我在“model”文件夹中有一组.xml文件,其中包含以下内容:
<property name="manager"
type="string"
column="manager" />
<property name="age"
type="integer"
column="age" />
一个java映射文件,其中包含:
class ClassName()
{
int age;
int getAge();
setAge(int age);
}
我基本上需要用long删除所有出现的int和Integer。
有没有像我可以做到的unix命令或脚本?我正在使用RHEL5。
答案 0 :(得分:2)
find . -type f \( -name '*.xml' -o -name '*.java' \) \
-exec sed -ri.back 's/\<int(eger)?\>/long/g' {} +
或者,如果您只想处理包含字符串的文件:
find . -type f \( -name '*.xml' -o -name '*.java' \) \
-exec grep -ilZE '\<int(eger)\>' {} + |
xargs -r0 sed -ri.back 's/\<int(eger)?\>/long/g'
请注意,上述sed
,xargs
和grep
命令使用非标准扩展,但可以使用在Linux发行版(包括RHEL5)上找到的GNU变体。
.back
之后的-i
是保存原始文件的备份副本,如果您不需要,可以省略。