博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

使用 sed 只需要一个命令:

sed -s -i 's/set_\([A-Za-z0-9_]*\)/\1 = /g' ` find . -name '*.cs' | xargs grep -l set_ `

解释如下:

` find . -name '*.cs' | xargs grep -l set_ ` : 找到符合条件的文件,作为 sed 的输入文件

sed -s 表示将输入的文件一个一个地处理,而不是当作一个批量处理

-i 表示直接替换文件

set_[A-Za-z0-9_]*  用正则表达式找到要替换的内容,将 [A-Za-z0-9_]* 用 \(, \) 包起来,就是正则表达式中的分组

最后替换成 \1 = ,  \1 表示正则表达式中的第一个分组匹配到的内容,如果要取第2个分组则用 \2

在windows 下装一个 cygwin 就可以操作了

 

posted on 2014-11-09 08:15  黑米  阅读(325)  评论(0)    收藏  举报