Unix 查找所有出现的“事件”;int";或;整数;在文件夹中的所有文件中,并替换为;“长”;
我在文件夹“model”中有一组.xml文件,其中包含以下内容:Unix 查找所有出现的“事件”;int";或;整数;在文件夹中的所有文件中,并替换为;“长”;,unix,text,replace,Unix,Text,Replace,我在文件夹“model”中有一组.xml文件,其中包含以下内容: <property name="manager" type="string" column="manager" /> <property name="age" type="integer" column="age" /> 我基本上需要删除所有出现的int和Integer以及long 有没有像unix命令或脚本这样
<property name="manager"
type="string"
column="manager" />
<property name="age"
type="integer"
column="age" />
我基本上需要删除所有出现的int和Integer以及long
有没有像unix命令或脚本这样的方法可以做到这一点?我正在使用RHEL5。find-键入f\(-name'*.xml'-o-name'*.java'\)\
find . -type f \( -name '*.xml' -o -name '*.java' \) \
-exec sed -ri.back 's/\<int(eger)?\>/long/g' {} +
-exec sed-ri.back的/\/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'
find-键入f\(-name'*.xml'-o-name'*.java'\)\
-exec grep-ilZE'\'{}+|
xargs-r0 sed-ri.back's/\/long/g'
请注意,上面的sed
、xargs
和grep
命令使用非标准扩展,但可以与包括RHEL5在内的Linux发行版上的GNU变体一起使用
.back
之后的-i
用于保存原始文件的备份副本,如果您不需要,可以省略它。大多数文本编辑器都有一个查找和替换文件夹中文件的功能。记事本++可以做到这一点。这有用吗?我不记得你是否可以用一些正则表达式编写一个grep,这些正则表达式将被查找和替换。在记事本中使用Ctrl+H,find type=“integer”replace type=“long”我可以在所有文件夹中的所有文件中编写它吗?
find . -type f \( -name '*.xml' -o -name '*.java' \) \
-exec grep -ilZE '\<int(eger)\>' {} + |
xargs -r0 sed -ri.back 's/\<int(eger)?\>/long/g'