LoginSignup
7
9

More than 5 years have passed since last update.

git管理下のファイル内の文字列を一括置換するワンライナー

Posted at

例えばすべてのgetByIdfetchByIdに変えたいときに打つ。

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でやると良い。

/@ でも % でも適当な記号で良い。スラッシュはコード内に出てくることが多いので、自分は @ をよく使う。

7
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
9