グローバル検索・置換


グローバル検索・置換機能の概要

(1)【グローバル検索(grep)】

【グローバル検索(grep)】は複数ファイルの中から指定した文字列を含む行を検索して、結果をリストに出力する機能です。
検索文字列を3つまで指定でき、検索の条件も指定できるため、AND検索やOR検索など、複雑なテキスト検索にも利用できます。

結果リストは「グローバル検索結果ウィンドウ」か「リストウィンドウ」に出力でき、リストをダブルクリックするとファイルを開き文字列の位置へカーソルがジャンプします。
結果リストの書式を変更すると、レコード(行)の抽出などにも利用できる便利な機能です。

バイナリファイルを対象にしたバイナリ検索もでき、同様に結果リストからダブルクリックで検索位置へジャンプできます。
ただし、バイナリ検索の結果リストには「行」ではなく、ファイルの先頭からのバイト位置が出力されます。

grep検索イメージ

(2)【グローバル置換】【グローバル複数置換】

【置換】または【複数置換】を、複数ファイルに対して行う機能です。

「文字列を置き換える」という機能ですが、フォルダ内のすべてのファイル内に書かれたパス名やタグ、変数名や関数名をすべて変更したり、特定の文字列を一斉に削除したりといった作業にも利用できます。

grep置換の確認

【置換】機能と同様「確認あり」置換も行えます。
実行時に右のような「グローバル置換の確認」ウィンドウが表示され、ボタンをクリックして動作を選択できます。

また、置換ログを出力しておくと、実行後正しく修正できたかの確認ができます。

※関連情報:テキストエディタのgrep機能


"MIFES"があって"for Windows"がない行を探す

【グローバル検索(grep)】機能のダイアログボックスには、「検索の条件」という設定があり、これによりANDやORに相当するテキスト検索も行えます。
検索文字列1に「MIFES」、検索文字列3に「for Windows」を入力して、検索の条件を「3を含まず他のすべてを含む行を探す」にしてください。

検索文字列は「+」ボタンで最大3個まで入力欄を増やして指定できます。

グローバル検索(grep)ダイアログ


検索したくない条件を指定する

グローバル検索(grep)ダイアログ-除外とタイムスタンプ設定

『24時間以内に更新したファイルだけ検索する』
『「old」フォルダーと「*.bak」ファイルは検索しない』
など、検索対象を絞り込む条件を指定することができます。

検索対象の絞り込みは、検索時間の短縮にもつながります。


開いているファイルだけ検索したい

グローバル検索(grep)ダイログ-検索対象の履歴リスト

検索対象で、「開いているファイルすべて」を指定します。
カレントウィンドウだけを検索したい場合は、「検索対象」のリストから「カレントファイルのみ」を選択してください。


検索文字列を色替え表示する

検索機能において、検索できた文字列をすべて色替え表示することができ、この機能をMIFESでは「強調表示」といいます。

「検索」ダイアログボックスと同様、「グローバル検索(grep)」ダイアログボックスにも「強調表示」チェックボックスがあり、検索文字列を1つだけ指定したときには、その文字列を色替え表示します。

設定パネルを開いて、「強調表示(検索文字列1のみ)」にチェックをつけて実行してください。

強調表示した画面 【グローバル検索(grep)】の設定パネル
グローバル検索(grep)結果_強調表示ON グローバル検索(grep)ダイアログ_設定パネル

なお、「強調表示(検索文字列1のみ)」にチェックをつけずに実行した後でも、以下の方法で強調表示ができます。

●「グローバル検索結果ウィンドウ」に結果を出力した場合
ガイドラインの[強調表示OFF]ボタンをクリックします。
グローバル検索結果ウィンドウと、ジャンプ先のウィンドウが強調表示ONの状態になります。
●リストウィンドウに結果を出力した場合
結果を出力したリストウィンドウ上で右クリックし、メニューの【ジャンプ先で強調表示】を選択します。
ジャンプ先のウィンドウが強調表示ONの状態になります。
グローバル検索(grep)結果ウィンドウのガイドライン リストウィンドウの右クリックメニュー

レコードの抽出ができる?

例えば、「ある文字列を含む行(レコード)を取り出したい」など、【グローバル検索(grep)】は行の抽出にも利用できます。

グローバル検索(grep)ダイアログの設定パネルで、「結果リストの書式」を「行の抽出」に変更して実行してください。


「グローバル検索結果ウィンドウ」だけ閉じる

【グローバル検索(grep)】を「グローバル検索結果ウィンドウ」に出力する設定で繰り返し実行すると、「グローバル検索結果ウィンドウ」がたくさん開いてしまいます。

この操作を行うマクロコマンドを下記ページで公開しておりますので、ダウンロードしてご利用ください。
開いているすべての「グローバル検索結果ウィンドウ」 のうち、変更されていないウィンドウをすべて閉じます。

マクロガイド > マクロソースのダウンロードのページ「M32 gclose.mac」


実行ボタンを押してしまった

グローバル置換-中止ウィンドウ【グローバル検索(grep)】【グローバル置換】【グローバル複数置換】とも、[中止]ボタンを含むウィンドウが表示されている場合はウィンドウ内の[中止]ボタンをクリックしてください。

ウィンドウなどが表示されておらず[中止]ボタンをクリックできない場合などは、[Esc]キーまたは[Pause]キーを押すと中止できます。


置換ログにはどんな情報が記録されるの?

【グローバル置換】または【グローバル複数置換】で、『ログファイルを作成する』にチェックをつけておくと、ログファイルが作成されます。

グローバル置換-ログを書き出す

ログファイルには置換を行った位置がタグジャンプ書式で出力されますので、ログファイルから置換が行われた箇所にジャンプして、置換できたことを確認できます。ログファイルの任意の行にカーソル移動して、【検索・置換・ジャンプ】-【タグジャンプ/バックタグジャンプ】を実行します。

なお、対象ファイルがなかった場合や旧文字列が見つからなかった場合など、1度も置換を行わなかった場合にはログファイルは作成されません。

グローバル置換ログからのタグジャンプ


エクスプローラからフォルダを選択してgrep

エクスプローラやデスクトップでフォルダを選択して右クリックメニューを表示します。
その中の「MIFESでこのフォルダーをgrep」を実行します。
すると検索対象にそのフォルダをセットして【グローバル検索(grep)】ダイアログが起動します。
目的のフォルダをすぐにgrepすることできます。

MIFESでこのフォルダーをgrep-1

MIFESでこのフォルダーをgrep-2

※MIFESが起動していなくても使えます。
※複数フォルダの選択にも対応しています。
※【設定ウィザード】で設定します。
 設定方法はこちらです→よくある質問と回答(FAQ) 右クリックメニューに【MIFESで開く】がない