PHPでクラスの名前空間をする際に作成しました。
また使う機会がありそうなのでメモ。
$ find ./ -type f -exec grep -l '<置換したい文字列>' {} \; | xargs sed -i.bak -e 's:<置換したい文字列>:<置換する文字列>:g'
./ (現在のディレクトリ)以下のファイルで、'<置換したい文字列>’ という文字列を含んだファイルを列挙して、そのファイルに含まれる ‘<置換したい文字列> を ‘<置換する文字列>’ に置換するスクリプト。
sed の -i オプションで、拡張子 .bak と付けて変換前のファイルをバックアップします。バックアップが不要の場合、このオプションを削除します。
以下、具体例。
$ find ./ -type f -exec grep -l 'App\\Models\\Foo' {} \; | xargs sed -i.bak -e 's:App\\Models\\Foo:App\\Models:g'
安達棒とアンバサダーで色々釣りたいおじさん。
Macでプログラムを書いて暮らしています。 趣味はルアーフィッシング、ギター、アクアリウムとストリートファイター(格ゲー) 。
宮崎県在住。