7章データ解析

先ほどの章では、スクリプトを用いてデータを収集して解析の準備を行った。ここでは、データから意味のある情報を引き出す必要がある。大量のデータを解析する際には、まず全体を解析するところから始め、新しい情報がデータから得られていく中で、徐々に検索の範囲を狭めていくのが王道である。

本章では、スクリプトに対する入力としてWebサーバのログからのデータを用いるが、これには実演を行う際のサンプルという以上の意図はない。スクリプトと解析テクニックは、少し修正することで、ほぼすべてのデータに対して用いることができる。

7.1 利用するコマンド

ここで処理や表示が必要なデータを限定するためのコマンドとして、sortheaduniqを紹介する。例7-1のファイルをコマンドの実行対象として用いる。

例7-1 file1.txt

12/05/2017 192.168.10.14 test.html
12/30/2017 192.168.10.185 login.html

7.1.1 sort

sortコマンドはテキストファイルを数値もしくはアルファベット順に並び替えるために用いられる。デフォルトでsortは行を昇順に並び替えるため、数字が先頭となり、ついで文字が続く。特殊な設定を行わない限り、大文字は小文字よりも前に並べられる。

7.1.1.1 主要なコマンドオプション

-r
降順に並び替える。
-f
大文字小文字を無視する。
-n
数字順に並び替える。この場合、1、2、3は10より前に並べられる(デフォルトのアルファベット順の場合、2と3は10より後ろになる)。
-k
行内のデータの一部(キー)に基づき並び替える。フィールドはホワイトスペースで区切られる。
-o
出力を指定したファイルに書き込む。 ...

Get 実践 bashによるサイバーセキュリティ対策 ―セキュリティ技術者のためのシェルスクリプト活用術 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.