Gitで管理しているファイルの中でこの文字列を全部ガガガっと書き換えたいという時に使うと便利なコマンド。
$ git grep -l | xargs sed -i "" "s/h/m/g"
仕組みは↓こんな感じ。
- git grep で置換したいファイルを探し出す
- ファイル名だけをstdoutに吐き出す
- xargsでsedに渡す
ex) hogeをfugaに置き換えたい。全ファイルで。
$ git grep -l "hoge" | xargs sed -i "" "s/hoge/fuga/g"