使用sed命令进行文本替换
事出有因
最近产品同学需要修改一个问题,将项目里的一个“XX”文字替换为另一个文字,刚开始的时候就苦逼苦逼的一个页面一个页面的改。
一个小时。。。。两个小时。。。
忽然觉得,这不科学啊,有没有更好的方法呢?
这个时候才想起,linux下不是有一个sed命令么。
赶紧百度下学习学习。
sed回顾
sed是一个很好的文本处理工具,以行为单位进行处理,可以将数据行进行替换,删除,新增。
sed 命令行的格式:
sed [-nefri] 'command' 输入文本
具体的参数代表的含义在这里就不一一介绍了,同学们可以自行百度。
这里主要讲讲 -i 参数
-i 直接修改读取的档案内容
sed命令
sed 的 ‘command’。
如果我们想要替换一个文件中的内容,该如何做呢?
# s 代表 使用string 替换正则表达式 re
# g 代表全部替换
sed 's/re/string/g' file
问题解决
学习了一点,如何解决咱的问题呢?一个命令全搞定
# cd 进入要修改文件的文件夹
find . -name "*.jsp" -print0|xargs -0 sed -i 's/原字符串/新字符串/g'
如果你是mac系统,请使用下面的命令
find . -name "*.jsp" -print0|xargs -0 sed -ig 's/原字符串/新字符串/g'
好了,问题完美解决,只需要10分钟。
同样的一个问题,我们需要找到最快速,简单的方法。
参考链接
http://www.iteye.com/topic/587673
http://www.cnblogs.com/dong008259/archive/2011/12/07/2279897.html
http://www.netingcn.com/mac-osx-sed-command-expects-followed-by-text.html