文字列一括置換

「特定の拡張子のファイルを対象に、それらのファイルに含まれる任意の文字列を別のものに置換する」
…という、Rubyワンライナープログラム。

構文

$ find 探したい場所 -type f -name '対象ファイル名' -print0 | xargs -0 ruby -i -p -e '$_.gsub!(/置換前の文字列/, "置換後の文字列")'

$ find . -type f -name '*.php' -print0 | xargs -0 ruby -i -p -e '$_.gsub!(/TestProject/, "registrant")'
$ find Downloads/* -type f -name "*.txt" -print0 | xargs -0 ruby -i -p -e '$_.gsub!(/hchuno/, "registrant")'
サブディレクトリ以下の検索方法※2016-07-29追記

上記の書き方だと「 invalid byte sequence in UTF-8 (ArgumentError)」が表示されるので、以下の書き方に修正。

$find  ディレクトリ名/* -type f -name "*.php" -print0 | xargs -0 ruby -i -p -e $'gsub(/hchuno/, "hchuno_api")'