通常のテキストファイルや、それに準ずるファイル(css. html, php, js)やエクセルなどのファイルが沢山あり、それらの中から特定の文字列が含まれるファイルのみを検索したい!、含まれる場所の特定をしたい!、と一括で検索したい場合があります。
ここではフォルダ内、更にサブフォルダのファイルをすべて対象にして特定の文字列が含まれるファイルを検索したり、場所の特定をする簡単な方法をご紹介!
Contents
秀丸を使う
1つめはテキストエディタで有名な「秀丸」を使う方法。(非常に簡単に検索できます)
フォルダ内をすべて検索
まず上段のメニュー「検索」から「grepの実行」を選びます。
- ①:メニューの「検索」をクリック
- ②:「grepの実行」を選択
↓↓↓↓↓↓
grepの実行画面が表示されるので、検索したい条件を設定。
- ①:検索したい文字列を入力
- この例では「keni_logo」という文字列を検索
- ②:検索するファイルを指定
- この例では「.php」と入力
- 特定の拡張子をすべて対象にしたい場合には「*.拡張子」(テキストであれば「*.txt」)
- 拡張子を問わずすべてのファイルを対象にしたい場合には「*.*」
- ③:検索するフォルダを指定
- ④:サブフォルダも検索対象に含めたい場合にはこちらにチェックを入れる
以上が終われば、⑤「OK」をクリック!(で検索が始まります)
↓↓↓↓↓↓
検索が終わると、以下のように検索した文字列が黄色の背景となった検索結果が表示されます。
この例では「keni_logo」という文字列を検索してます。
検索結果の見方
検索結果の見方は、例えば1行目を見ると以下の表示がありますが、
- keni80-child\keni\module\keni-setting\keni-setting.php(402): function keni_logo() {
- 「keni80-child」の中の「keni」というサブフォルダの(下の下の)「keni-setting」に「keni-setting.php」というファイルがあり、
- その402行目に「keni_logo」があり、
- その文字列が含まれる個所は「function keni_logo() {」
と分かります。(秀丸すごい!)
PowerShellを使う
秀丸はソフトのインストールが必要ですが、Windowsであれば、秀丸を使わなくても標準装備されている「PowerShell」を使う、というのがありますね。
PowerShellの起動
ではまず PowerShell を起動します。
- スタートボタンを右クリック(左端のWindowsマーク)
- 「Windows PowerShell」を選択!
↓↓↓↓↓↓
以下のような画面が表示され、PowerShell が起動しました。
何やらとっつきにくい、というか、エンジニアが使うような画面ですが、検索で使う分には至って簡単。(恐れなくても全然大丈夫)
検索するフォルダへ移動
まず検索したいフォルダ(ディレクトリ)に移動します。
※)「フォルダ」と「ディレクトリ」は同じもの
「dir」というコマンドを使って、ディレクトリ(フォルダ)があるかをまず確認。
- ①:「dir」を入力してエンターキー押下
- ②:今いるディレクトリーのサブディレクトリ(サブフォルダ)が表示される
②で表示されたディレクトリの中で、目的のフォルダー、または目的のフォルダーが含まれるフォルダー(ディレクトリ)を確認して、その目的のフォルダーに変更(移動)します。
目的のフォルダーに変更する場合「cd」というコマンドを使えば良いですね。
「cd ディレクトリ名」と入力してエンターキーを押すだけですが、ここではまずデスクトップに移動したいので、「cd desktop」と入力してエンター!
- この例では、まず desktop に切り替える、ということで「cd desktop」を入力してエンターキー押下
- 実際に切り替わると、切り替わったことが分かるように表示も変わる
このようにして、検索する対象のディレクトリー(フォルダー)にまずたどり着きます。
ディレクトリーを切り替えるのに良く使われるコマンドを挙げておくと以下2つ。
- 「cd ディレクトリ名」:ディレクトリを切り替える
- 「cd ..」:1つ上の階層のディレクトリーに上がる
- 間違ったディレクトリーに切り替えた場合には「cd ..」を使えば元に戻れる(1つ上の階層に戻れる)
この2つを使って目的のフォルダーまで移動しましょう。
フォルダ内全てを対象に検索
フォルダー内に含まれるすべてのファイル(サブフォルダーも含む)を対象に文字列検索しますが、使うコマンドは以下の通り。
- select-string "検索したい文字列" (dir -recurse 対象のファイル)
ここでは「.php」というファイル全てを対象に、「keni_logo」という文字列が含まれる「.php」というファイルを検索したいので、以下のようにします。
- select-string "keni_logo" (dir -recurse *.php)
※)「*.php」の「*」は全て、という意味。テキストファイルを対象にしたい場合には、「*.php」を「*.txt」に変える。ファイルの種類を問わず全てを対象にしたい場合には「*.*」とすればOK。
上で見るように、「select-string ~」を入力してエンターキー押下!
検索結果の見方
以下のように検索結果が表示されます。
検索結果の見方については、例えば検索結果の1行目には以下が表示されてます。
- keni80-child\keni\module\keni-setting\keni-setting.php:402:function keni_logo() {
見方は上の方で見た秀丸と同じですが、
- 「keni80-child」の中の「keni」というサブフォルダの(下の下の)「keni-setting」という名のフォルダに「keni-setting.php」というファイルがあり、
- その402行目に「keni_logo」がある。
- その文字列が含まれる個所は「function keni_logo() {」
秀丸にしても、この PowerShell にしても、使い方が分かってればどちらも超簡単。凄いですね。
今回のポイント
何か情報を扱う場合、知らず知らずのうちにファイルが増え、増えるだけならまだしも、あれが書いてあるのはどのファイルだっけ?となる場合があります。
ネットビジネスで言えば、たとえばテーマのカスタマイズをしたい場合、この元の関数はどこで定義されてるんだ?と鬼のように沢山あるファイルの中を1つ1つ確認したりして涙目になることがありますが(笑)、上で見た「秀丸」や「PowerShell」を使えば一発解決!
早く知っておけばこんな苦労することなかったのに...というところですが、これからは大いに活用していきましょう。
またネットビジネスで収益を上げる方法を知りたい!ブログやサイトで収入を得る方法を1から順に知りたい、という場合には、以下のメルマガにも登録してみてくださいね。