grepの実行(Ver8.79対応版)
目次検索系コマンド− grepの実行
 検索の一種で、指定されたファイル(一般には複数)から文字列を検索し、見つかった位置をすべて出力します。
 秀丸エディタの場合は検索結果用に新しい秀丸エディタをひとつ開き、その内容として出力されるようになっています。このとき開く秀丸エディタの各種設定は[その他]-[ファイルタイプ別の設定 ]で設定します。
 grep結果で「タグジャンプ」コマンド(標準でF10)を実行すると、該当のファイルの該当の行を開くことができます。

 grep結果は、通常の場合、一行のうち約32KB(半角で約3万文字)だけが切り抜かれた形で結果が表示されます。(設定可能)
 一行が約3万文字未満であれば一行の内容が全て表示されます。約3万文字で切り抜かれている場合は、タグジャンプをして実際の内容を見ることができます。
 [動作環境]→[検索]→[grepの動作]の「文字数制限の設定」で表示される文字数の設定が可能です。
 「追加の条件」を指定して何らかの条件を指定している場合は、「制限なし」と同じ方式でgrepが実行され、結果は一行全てが表示されます。

 grepして置換はこちらを参照してください。

 grepの動作環境で「隠しファイルを除外」「指定した拡張子を除外」「拡張子を厳密にチェックする」などの設定ができます。
 grepダイアログ左上の▼を押してgrepの動作環境を開くこともできます。
検索する文字列
 検索する文字列を入力します。

 入力ボックス(コンボボックス)の右横に「>」のような三角マークのボタンがあり、検索文字列に関する操作ができます。
 複数行に切り替える操作ができます。(複数行について
 正規表現がONの場合は、正規表現の入力を補助します。
 このボタンは、Alt+[のキー操作でも押すことができます。

 参照: 機種依存文字について

検索するファイル
 検索する文字列を入力します。
 拡張子がtxtのファイルを全て検索対象とする場合は「検索するファイル」に「*.txt」と入力します。
 すべてのファイルを検索対象とする場合は「*.*」と入力します。
 セミコロン( ; )で区切ることで、複数のワイルドカードを指定することができます。拡張子txtと拡張子htmlの両方を検索する場合は「*.txt;*.html」と入力します。

 検索するファイルの中に「<!*.xxx>」という書き方を加えると、指定したワイルドカードを除外することができます。(V8.73以降)
 「<!」から始まり、ワイルドカードを書いて、「>」までという書き方になります。
 [動作環境]→[検索]→[grepの動作]にも除外する設定がありますが、除外は両方とも有効で、混合して除外されます。

 「(現在の内容)」を選択すると編集中のファイルのみが検索対象となります。
 grep結果に対して「(現在の内容)」でさらに別の文字列でgrepすると、結果の絞込みができます。(新たに行番号を付加しないようになります)

 入力ボックス(コンボボックス)の横にある「>」のような三角マークのボタンを押すとあらかじめ用意された拡張子の中から選ぶことができます。
 この拡張子は、[その他]→[動作環境]→[ファイル]の「ファイルの種類の編集」で設定されるものと同じものになります。
 このボタンは、Alt+\(またはAlt+バックスラッシュ)のキー操作でも押すことができます。

検索するフォルダ
 検索するフォルダを指定します。フォルダはセミコロンで区切って複数指定することはできません。

大文字/小文字の区別
 ONにすると大文字と小文字を別の文字と見なして検索します。

単語の検索
 ONにすると、単語だけを検索します。
 例えばC言語のプログラムなどで変数 i を検索したい場合など、普通に i で検索すると、 int の i などでも止まってしまって不便ですが、単語の検索をONにすれば変数の i だけで止まってくれます。

正規表現
 検索に正規表現を使用する場合はONにします。
 「大文字/小文字の区別」「単語の検索」のチェック状態も反映します。(V4.00以降)
 正規表現検索に使用されるDLLファイル名とそのバージョンが表示されています。
 正規表現検索で使用するDLLの変更は、[動作環境]-[環境]で行うことができます。
 参照: 正規表現  HmJre.dllのヘルプ HmJre.dllのヘルプ
 参照: \nを使った複数行検索の際の制限について

あいまい検索
 検索したい文字列が全角文字か半角文字かがはっきりしない場合にONにします。
 このオプションをONにすることで、例えば「バージョン」という文字列を検索すると、テキスト中の「バージョン」という文字列はもちろんのこと、半角で書かれた「バージョン」という文字列も探し出します。逆に「バージョン」と、半角で書かれた文字列を検索しても「バージョン」と「バージョン」の両方がマッチします。ただし、メタキャラクタはあいまい検索の対象外です。
 このオプションをONにした場合正規表現用に使用しているDLLによって次のような動作になります。

  • 正規表現DLLにHmJre.dllを使用している場合
     このオプションをONにすると設定ボタンが押せるようになりあいまい検索の詳細設定が行えるようになります
  • 正規表現DLLにJRE32.DLLを使用している場合
     このオプションをONにすると大文字/小文字の区別のオプションはONになります

追加の条件
 これをONにすると、追加の条件に従って検索する範囲を制限できます。
 カラー表示の条件は、[ファイルタイプ別の設定]→[デザイン]→[複数行コメント]で指定される強調表示があるときに働きます。
 grepでは様々な拡張子を同時に検索できますが、それぞれに拡張子に応じたファイルタイプ別の設定が適用されます。
 このオプションのチェック状態はダイアログを出すたびにOFFになります。
 前回のチェック状態を覚えるようにするには、[その他]→[動作環境]→[検索]→[検索ダイアログ]→[追加の条件の状態を覚える]をONにしておくと覚えるようになります。
 通常のgrepとは違う方式でgrepされるようになる影響で、grep結果は最後にまとめて表示されるようになります。
 
 grep結果は、通常の場合、一行のうち約32KB(半角で約3万文字)だけが切り抜かれた形で結果が表示されます。(設定可能)
 一行が約3万文字未満であれば一行の内容が全て表示されます。約3万文字で切り抜かれている場合は、タグジャンプをして実際の内容を見ることができます。
 [動作環境]→[検索]→[grepの動作]の「文字数制限の設定」で表示される文字数の設定が可能です。
 「追加の条件」を指定して何らかの条件を指定している場合は、「制限なし」と同じ方式でgrepが実行され、結果は一行全てが表示されます。

検索文字列を強調
 これをONにすると、検索文字列を強調します。
 検索ダイアログの「検索文字列を強調」と同じで、連動しています。

ヒットしない行
 これをONにすると、ヒットしない行を出力します。
 「追加の条件」が指定されている場合は、この設定は無効になります。

サブフォルダも検索
 検索するフォルダで指定されたフォルダのサブフォルダに有るファイルも検索対象とします。
 「検索するファイル」に「(現在のファイル)」を選択した場合は無効です。

最小化状態で実行
 秀丸エディタを最小化した状態でgrepを実行します。

ファイル名一覧だけ作成
 通常、検索にヒットすると「ファイル名」と「行番号」と「その行」の一覧が出力されます。
 このオプションをONにすると「ファイル名」と「行番号」だけ出力されるようになります。
 行番号は、最初に見つかった行だけを出力します。
 1つのファイル中に複数ヒットするような場合でも、1ファイル1行だけ出力します。

ファイル名をフルパスで出力
 ONにするとファイル名がフルパスで出力されます。

エンコードの種類
 ファイルを読み込むときのエンコードの種類を指定します。標準では自動判定になっています。
 自動判定の方法は、右側の[...]ボタン([動作環境]→[ファイル]→[エンコード1]と同じ)が適用されます。
 ただし「優先順位に従う」は働かなくなり、「最初に確定したものにする」と同じになります。
 grepでも「優先順位に従う」と同等に動作させるには、[その他]→[動作環境]→[検索]→[grepの動作]の「文字数制限の設定」で、「制限なし」にすると、仮想的に本体でファイルを開いて検索するのと同じになり、優先順位が働きます。

出力先
 「自動」は、新規状態の場合は現在の秀丸エディタに出力し、そうでない場合は新しいウィンドウまたはタブに出力します。
 「単一」にすると、最後にgrep結果を出力した秀丸エディタを再利用して、そこに結果を出力します。
 「タブグループごと」にすると、タブモードとき、タブの中にgrep結果がある場合は、そのタブを再利用して出力します。
 何度もgrepを実行してウィンドウが増えるのが煩わしい場合に「単一」または「グループごと」にしておくといいです。

 「アウトプット枠」にすると、アウトプット枠が利用可能な場合、アウトプット枠に出力します。
 「grepして置換」の場合はアウトプット枠には出力されません。
 マクロからgrepを呼び出す場合もアウトプット枠は指定できません。
 アウトプット枠は非タブモードでも使えますが、あまり意味が無いのでタブモードで使われることをお勧めします。

参照:[動作環境]→[検索]→[grepダイアログ]

戻る