例えばすべてのgetById
をfetchById
に変えたいときに打つ。
git grep -l getById | xargs perl -pi -e 's@getById@fetchById@g'
解説
git grep -l
対象の文字列が現れるファイル名だけ列挙する。
perl -pi -e 's/aaa/bbb/g' filename
perlのドキュメントにも出てくるイディオム的なオプションで、ファイルの中の文字列を置換する。
ファイル名はそのままで内容を置換するのはGNU sedにも -i / --in-place
オプションがあるが、Macのsedだと使えないのでperlでやると良い。
/
は @
でも %
でも適当な記号で良い。スラッシュはコード内に出てくることが多いので、自分は @
をよく使う。