フォト

ウェブページ

無料ブログはココログ

MyList

« 生成AIでスライド作成 <生成AIの前を走る> | トップページ | さかなクン化 <儒烏風亭らでんの影響力> »

2025年12月 1日 (月)

grep考 <認識をアップデートする>

結論を先に。
・認識とスキルを現状に合わせてアップデートしなければならない。
・正規表現は今でも重要だ。

Grepvsexcel

【ログ解析とgrep】
デジタルフォレンジックの現場において、ログを分析するためのツールとして、高機能な製品も増えてきた。
オヤジ世代にとって、欠かせないツールはgrepだった。
今でも、ログ解析の文脈でgrepの使い方を教えているのを見かける。

なぜ昔は、grepを使っていたかというと、調査対象のOSはUNIXが多く、grepが標準でインストールされていたし、
また、1行1レコードのログが多く、行志向のツールの方が使いやすかった、
という事情があったからだ。

【今時のログ解析】
今時は、大量のメモリを搭載した、WindowsPCで解析することが多くなったが、標準でgrepはインストールされていないので、grep.exeやgrep機能があるエディタをインストールしているようだ。

よく見ると、grepコマンド(機能)は使うけれど、多くは固定文字列の一致にしか使われていないようだ。
昔だったら「fgrepを使え!」と言われたところだ。

【正規表現】
grepの真髄はいうまでもなく、正規表現によるマッチなのだが、正規表現を学習していないのだろう。
研修で教える人も正規表現を教えないようだ。

正規表現が使えると便利な場面は、タイムスタンプが開始時刻と終了時刻に含まれる行を検索する場合だ。
(例えば、2025/6/30 23:59:00~2025/7/1 00:01:00)

昔の解析環境は搭載しているメモリが少なく、メモリ容量より大きなログファイルを検索する際に、複数回に分けて検索すると、時間がかかるし、テンポラリファイルを作るとストレージを圧迫するという問題があった。
だから、正規表現を使用して1回の検索で終わらせるテクニックは重要だった。

【今時の環境】
今時のPCは、多くのメモリ、大きなストレージを搭載しているので、ログをメモリに読み込んでから検索すると、複数回検索しても、それほど時間はかからなくなった。

デジタルフォレンジックの現場では、専用ツールが使用できないことがある。
そのような場合に、専用ツールを使わず、汎用的なアプリでログを解析するならば、Excelはかなり便利だ。

理由は、
・読み込めるデータ量が増えたので、ログを一度に読み込むことができる。(行数制限あり)
・テーブルに変換するとソート・フィルタ機能が使える。
・FILTER関数やXLOOKUP関数など検索・参照系関数を使うと、1つの式で複数のセルや行を返してくれるようになった。
・ログファイルを読み込む際にPowerQueryを使用すると時刻を文字列→シリアル値に変換できる。
・M365のExcelは正規表現関数を使用することができる
・M365のExcelはPY関数が使用できる(無敵だ!!)

ログを解析する場合は、検索機能は重要だが、ソートや重複排除、集計機能が必要で、grepコマンド(機能)を使っても、最後はExcelに読み込んで印刷することが多いなら、最初からExcelでやってしまえばよいと思う。

【結論】
20年くらい前は、ログ解析と言えばgrepだったけど、ハードウェアもソフトウェアも変わったから、現状で、何が最適かアップデートしなければならない。

20年前も今も重要な知識は正規表現だと思う。


fgrep:今時のPCではfgrepを使用してもあまり早くならない


最近の投稿
Yoshiのよしなしごと】【Yoshiのブログ】【よしなしごと】【ほぼ1人情シス

« 生成AIでスライド作成 <生成AIの前を走る> | トップページ | さかなクン化 <儒烏風亭らでんの影響力> »

よしなしごと」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

« 生成AIでスライド作成 <生成AIの前を走る> | トップページ | さかなクン化 <儒烏風亭らでんの影響力> »