【効率UP】サクラエディタ:Grep検索の基本操作~コレが使えないと大損~

2024年3月15日金曜日

  • 決められた検索値を使って、ログファイルを定期的に調べる。
  • たくさんのファイルの中から、データを集めないといけない。
  • このフォルダのどこかに書いてあったようなはず・・・

仕事中をしていると、このような場面にしょっちゅう遭遇しませんか?

見つからないデータがテキストファイルやCSVファイルなら、サクラエディタのGrep検索を使えばすぐに見つかることも!。

この記事では、サクラエディタのGrep検索をサクラエディタのマクロ機能で使用する方法を解説します。

公式資料はコチラ

■Grep検索とは?

Grep検索は、『テキストファイルの中から、指定した文字列やパターンに一致する行を抽出する』機能です。
Grep検索を使うと、『複数のファイルやフォルダを一括で検索』することができます。
検索結果には、『ファイル名、パス、行番号、内容など』が表示され、検索結果をダブルクリックしてファイルを開くこともできます。

■Grepの基本操作

サクラエディタでGrep検索を行うには、メニューから『検索』→『Grep』を選択します。Grepダイアログが表示されたら、以下の項目を設定します。
条件:
検索したい文字列や正規表現を入力します。大文字小文字の区別や単語単位での検索などを設定できます。

検索場所:
検索したい場所を指定します。[上層階へ]で1つ上のディレクトリへ移動し、[現フォルダー]で編集中のファイルがあるディレクトリを指定できます。サブディレクトリを検索する設定も可能です。

対象ファイル:
検索したいファイルを指定します。
(特に指定がなければ *.* でOK)

除外ファイル:
検索から除外したいファイルを指定します。

除外フォルダ:
検索から除外したいフォルダを指定します。

設定が完了したら、「OK」ボタンを押します。
サクラエディタは指定したファイルやフォルダから、検索文字列に一致する行を出力ウィンドウに表示します。
出力ウィンドウでは、検索結果にファイル名や行番号が表示され、ダブルクリックすると該当ファイルに直接ジャンプできます。
「編集中のテキストから検索(M)」を選択してGrep検索することで、さらに絞り込むこともできます。

例 Grep検索で男性データのみ抽出

■Grep検索の応用

Grep検索は、単純な文字列検索にとどまらず、さまざまな応用が可能です。

ファイルの検索と置換:
Grep検索を使用して特定のパターンを含むファイルを検索し、必要に応じてGrep置換することができます。

ログ解析:
ログファイルから特定のエラーやイベントを検索する際に利用されます。

プログラムのコード解析:
複数のファイルから特定の関数や変数の使用箇所を検索する場合に便利です。

■Grep検索で便利な検索方法

Grep検索では、通常検索以外にも正規表現という特殊な記法を使って、柔軟なパターンマッチングができます。
サクラエディタの正規表現では、以下のような記号を使って表現できます。

.(ドット):
任意の一文字に一致します。

*(アスタリスク):
直前の文字が0回以上繰り返されることに一致します。

+(プラス):
直前の文字が1回以上繰り返されることに一致します。

?(クエスチョン):
直前の文字が0回か1回繰り返されることに一致します。

[](角括弧):
括弧内に含まれる文字のいずれか一文字に一致します。

[^](角括弧とキャレット):
括弧内に含まれない文字のいずれか一文字に一致します。

()(丸括弧):
括弧内の文字列をひとまとまりにして扱います。

|(パイプ):
左右の文字列のいずれかに一致します。

¥半角の または \(バックスラッシュ):
特殊文字をエスケープしたり、特定の文字クラスに一致させたりします。

\d:
数字に一致します。(全角数字含む)

\w:
単語構成文字(英数字やアンダースコア)に一致します。

上記は正規表現の一例で、他にもたくさんあります。

例えば、以下のような検索文字列を使うと、以下のような結果が得られます。

abc*:
`abc`や`abcc`や`abcccc`などに一致します。

abc+:
`abc`や`abcc`や`abcccc`などに一致しますが、`ab`には一致しません。

abc?:
`ab`や`abc`に一致しますが、`abcc`には一致しません。

[a-z]bc:
`abc`や`bbc`や`zbc`などに一致します。

[^a-z]bc:
英小文字以外の文字に続く`bc`に一致します。(例  !bc ※数字や記号や大文字など)

(abc|def)g:
`abcg`や`defg`に一致します。

\d+: 
数字の連続に一致します。(例 123や4567など)


◆正規表現を使用した検索例

正規表現を使うと、以下のような便利な検索ができます。

空行を検索する:
検索文字列に `^$` を入力します。これは、行頭(^)と行末($)の間に何もないことを表します。Grep検索ではあまり使用しませんが、検索・置換で使うことがあります。

URLを検索する:
検索文字列に `https?://\S+` を入力します。これは、httpまたはhttpsで始まり、空白以外の文字が続くことを表します。

電話番号を検索する:
検索文字列に `\d{2,4}-\d{2,4}-\d{4}` を入力します。これは、数字が2~4桁、ハイフン、数字が2~4桁、ハイフン、数字が4桁の形式を表します。

例 Grep検索:電話番号を抽出

■まとめ

  • Grep検索は複数のファイルをまたがって検索することができます。
  • 検索条件は、指定値のほか正規表現によるパターンマッチングで柔軟な検索ができる。
  • Grep検索結果は、ダブルクリックすることでタグジャンプできる。

Grep検索を使いこなすことで、データ検索することが早くできるようになります。まだ使っていない方やご存じなかった方は是非一度お試しいただければ幸いです。

QooQ