人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

アプリケーション全体で、特定文字列を探し出すには?
とあるパッケージングされたスクリプトがあります。数十のフォルダに全体で数百のモジュール(php)が入ってます。
全体のモジュールから、とある文字列をみつける方法を教えてください。
hogehogeという文字列をみつけだしhagehageという文字列に置換したいのです。
数百のモジュールがあり、ひとつひとつから見つけ出すのは容易ではありません。

●質問者: yo-jiro-11
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:PHP とある ひとつ アプリケーション スクリプト
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● ghost
●29ポイント

探すだけなら grep -F "hogehoge" -R /path/to/modules/ で終わりですが、目的が置換ならば:

find /path/to/modules/ -type f -name "*.php" -exec sed -e "s/hogehoge/hagehage/" -i '{}' \+

(斜体部分は実際の値に書き換え)

ただしこの手の作業には誤爆がつきものなので、先に全体のコピーをとっておいて実施前後の diff を確認することをおすすめします。細かいオプション等の調整は太字部分の項目のマニュアルを参照のこと。

◎質問者からの返答

参考になりました。ありがとうございます。


2 ● きゃづみぃ
●24ポイント

http://hide.maruo.co.jp/software/hidemaru7/new3.html

Ver7以上の秀丸をインストールして grepで一括置換をすればいいです。

なお 置換する前に ちゃんと バックアップと ただのgrepで検索されることを確認してから実行したらいいでしょう。

◎質問者からの返答

参考になりました。ありがとうございます 。


3 ● Galapagos
●27ポイント

find, xargs, grep, sed を使って以下のようにしてみてください。

find . -name '*.php' | xargs grep -l '/hogehoge/hagehage/' | xargs sed -i.bak 's/hogehoge/hagehage/g'
◎質問者からの返答

参考になりました。ありがとうございます。


4 ● tama213
●10ポイント

>全体のモジュールから、とある文字列をみつける方法を教えてください。

テキストファイルの場合、grepを使えば簡単です。

◎質問者からの返答

ありがとうございます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ