sort と uniq による頻出パターンの特定
このステップでは、パイプを使用して複数のコマンドを組み合わせ、ログデータ内のパターンを分析する方法を学びます。これはシステム管理やデータ分析において一般的なタスクです。
目的
アクセスログファイルの中で、出現頻度の高い上位 5 つの IP アドレスを特定してください。
背景
ログ分析では、パターンや頻度を見つけ出すことがよく求められます。cut、sort、uniq などのコマンドを組み合わせることで、テキストデータから意味のある洞察を抽出できます。この手法は、トラフィックパターンの特定、異常検知、ユーザー行動の把握などに非常に役立ちます。
タスク
/home/labex/project/access.log 内で最も頻繁に出現する IP アドレスの上位 5 つを見つけ、その IP アドレスのみ(カウント数は含めない)を task2_output.txt に保存してください。
要件
/home/labex/project/ ディレクトリで作業すること。
- ログファイルの最初のフィールドから IP アドレスを抽出すること。
- 各 IP アドレスの出現頻度をカウントすること。
- 頻度の降順(多い順)でソートすること。
- 上位 5 つの結果を取得すること。
task2_output.txt には IP アドレスのみを保存すること(カウント数は含めない)。
ヒント
cut -d' ' -f1 を使用して、最初のフィールド(IP アドレス)を抽出します。
sort を使用して、同じ項目をグループ化します。
uniq -c を使用して、出現回数をカウントします。
sort -rn を使用して、数値として逆順(降順)にソートします。
head -n 5 を使用して、上位 5 つの結果を取得します。
awk '{print $2}' を使用して、カウント出力から IP アドレスのみを抽出します。
期待される出力
task2_output.txt には 5 つの IP アドレスが含まれている必要があります。
$ cat task2_output.txt
255.1.2.3
255.4.2.9
255.4.1.9
255.4.1.1
255.1.4.5
注意:実際の IP アドレスは、ランダムなデータ生成により異なる場合があります。