find+xargs+sed批量替换

写代码时经常遇到要把 .c  和 .h的文件中的某些内容全部替换的情况,用sourceinsight 进行全局的查找是一个方法,但是sourceinsight只能替换一个文件中的字符串,不能同时替换多个文件中的同一个字符,在linux下 使用find,结合sed,xargs 可以实现这个功能。

把当前目录下的所有.c 和 .h 文件中的 "waf"字符 全部 替换成 “tamper”

find . -name "*.[ch]" |xargs sed -i 's/waf/tamper/g'

 

把、/opt/test/ 目录下所有含有"linux"字符的文件全部替换成windows

命令如下
find /opt/test/ -type f | awk -F":" '{print $1}' |xargs sed -i's/linux/windows/g'

posted @ 2018-07-16 17:17  Luluuu  阅读(873)  评论(0编辑  收藏  举报