需求是替换工程所有.h和.m文件中的‘macbook air’ 为 ‘HH’
首先思路是cd到该文件夹,使用sed命令替换字符串:
<pre> grep 'macbook air' . -r -n | sed -i 's/macbook air/HH/g'</pre>
报错 :
sed: -i may not be used with stdin
google反馈 : Mac OSX的sed是BSD版本的,sed -i 之后需要加参数表示备份原文件.按教程使用以下命令依然报该错误:
<pre> grep 'macbook air' . -r -n | sed -i '' 's/macbook air/HH/g'
grep 'macbook air' . -r -n | sed -i ‘.bak’ 's/macbook air/HH/g'</pre>
换perl命令,搞定:
<pre> find . -name '.h' -o -name '.m' | xargs perl -pi -e 's/macbook air/HH/'</pre>
网友评论