http://stackoverflow.com/questions/15920276/find-and-replace-string-in-all-files-recursive-using-grep-and-sed



在指定目录下将所有包含app\components替换成oss\components

mac下格式:

grep -rl 'app\\components' /Users/peter/home/workspace/oss/oss/models | xargs sed -i "" s#app\\\\components#oss\\\\components#g


其他linux:

grep -rl 'app\\components' /Users/peter/home/workspace/oss/oss/models | xargs sed s#app\\\\components#oss\\\\components#g



mac用sed写几个文本替换,用-i参数原地替换,发现不行。纠结了一下。

man sed

发现 -i 需要带一个字符串,用来备份源文件,这个字符串加在源文件名后面组成备份文件名。

如果这个字符串长度为0,就是说是个空串,那么不备份。