Hidemaru Q and A

第II部〜知っていると便利な秀丸の機能
 grep/タグジャンプ


●grep/タグジャンプ

現在編集しているファイルの内容や、あるフォルダに置かれている複数のファイルから、特定の文字列を含んだ行を全て調べる事ができます(grep("ぐれっぷ"と読む(^^;)機能)。
また、調べた結果の出力ファイルを使って、文字列の見つかった行(ファイル)へ直接移動する事ができます(タグジャンプ機能)。

[手順]
例えば、c:\diary フォルダにある、*.txt という拡張子を持つファイルから、「Love」という文字列を含む全ての行を調べたいとします。

  1. メニューバーの「検索→grepの実行」を選択して下さい。

  2. 一番上にある「検索文字列」の部分に探したい文字列(今の例だと「Love」)を記入して下さい。

  3. その下にある「検索するファイル」の部分に、検索対象となるファイル名を記入します(今の例だと「*.txt」)。
    ※現在編集中の内容に対して実行したい時は、入力ボックスの右端にある矢印ボタンをクリックして"(現在の内容)"を選択して下さい。
    ※ファイル名にはMS-DOSのコマンドライン入力でお馴染み(?)の「ワイルドカード」が使用できます。また、複数のファイル名を入力したい時は、ファイル名を";"(半角のセミコロン)で区切って下さい(ex. "*.txt;file_?.man;a.doc")。

  4. 左下にあるフォルダツリーで、検索対象のファイルのあるフォルダを選択します(今の例だと「c:\diary」)。
    ※Windows 3.1 の場合は「フォルダ」を「ディレクトリ」と読み替えて下さい(以下同様)。

  5. 右側にあるチェックボックスの内、該当する物にチェックをします。
    • 大文字/小文字の区別」チェックボックス:
      検索文字列の大文字と小文字を区別して検索します。この項目がOFFの場合、上の例で「LOVE」や「love」も検索されます。
    • 単語の検索」チェックボックス:
      この項目がONになっていると、「Lover」や「ILoveNY」等の、ある単語の一部になっている場合は検索されません。ここで言う「単語」とは、半角英字とアンダースコア("_")のみで構成された文字(列)を指します。
    • 正規表現」チェックボックス:
      検索文字列に「正規表現」が使える様になります。この項目をONにすると、上記二つのオプション指定は無効になります。
      正規表現」については「●正規表現について」を参照して下さい。
    • あいまい検索」チェックボックス:
      「正規表現」をさらに便利にした「あいまい」な検索が可能になります(全半角同一視等…説明もあいまい(^^;)。
    • サブフォルダも検索」チェックボックス:
      この項目がONの時、指定されたフォルダにサブフォルダがある場合そのサブフォルダの中のファイルも検索します。
    • アイコン状態で実行」チェックボックス:
      grepの実行時は、実行結果を表示するための秀丸ウィンドウを自動で開きますが、この項目がONの時はgrepの実行が終了するまで、この結果表示ウィンドウをアイコン化します。
    • ファイル名一覧だけ作成」チェックボックス:
      7. の出力結果の違いをご覧下さい。
    • ファイル名をフルパスで出力」チェックボックス:
      この項目がONの時、検索文字列が見つかったファイルのファイル名をフルパスで出力します。OFFの場合はファイル名だけを出力します。

  6. 右上の「OK」ボタンを押すと検索が始まります。

  7. 実行が終わると結果を表示するウィンドウができています。その内容は「ファイル名一覧だけ作成」チェックボックスのON/OFFによって少し違います。

    • ファイル名一覧だけ作成」が「OFF」の時の動作
      この項目がOFFの時は、検索文字列が見つかった全てのファイル名と行を結果として書き出します。

      [実行結果の例("file?.txt"について"2"を検索)]
      file1.txt(2): ファイル1の2行目
      file1.txt(20): ファイル1の20行目
      file2.txt(1): ファイル2の1行目
      file2.txt(2): ファイル2の2行目
      (以下略)

    • ファイル名一覧だけ作成」が「ON」の時の動作
      この項目がONの時は検索文字列が存在したファイル名(と始めに見つかった行番号)だけを結果として書き出します。

      [実行結果の例("file?.txt"について"2"を検索)]
      file1.txt(2)
      file2.txt(1)
      file3.txt(2)
      file4.txt(2)
      (以下略)

[補足情報]

結果ウィンドウのファイル名の部分にカーソルがある状態で「その他→タグジャンプ」を選択すると、(開かれていない時は開いてから)そのファイルの該当する行へ移動する事ができます。また、「バックタグジャンプ」で元の結果ウィンドウに戻る事もできます。
さらに、この結果ウィンドウをファイルとして保存する事もできて、上記の「タグジャンプ」も後から使用できます。

目次に戻る