あいつの日誌β

働きながら旅しています。

MacOSX で複数ファイル一括置換

あらすじ

familyName を間違えて famillyName としてしまった時のお話です

sed コマンドオプションでちょっと迷ったので備忘録

とりあえず対象となるファイルを検索

この時対象となっているファイルは js ファイルだったので以下のようにして対象となるファイル一覧を取得します。 これは別に find を使っても良いと思います。

% grep -l 'famillyName' **/*.js  

パイプする方法を確認する

xargs を使うと良いでしょう。

% grep -l 'famillyName' **/*.js  | xargs echo

sed にパイプする

echo ではなく sed にパイプします。バックアップ要らない場合、MacOXS だと以下のように空文字をいれると良いらしい。

% grep -l 'famillyName' **/*.js  | xargs sed -i "" -e 's/famillyName/familyName/g'

おしまい