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