grep -Eo "^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" /var/log/httpd/access_log | sort | uniq -c | sort -r | head -n 15
※ 上記コマンドは、コメントで s.mori さんにご指摘頂いた間違いを修正済みです
検索に「拡張正規表現」を使えるようにする。
^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3} でIPアドレスに一致させる。
通常の grep では一致した行全体が表示されるが、-o を指定することにより一致した文字のみを表示させることができる。
次の uniq で重複行のカウントを行うため、並び替える。
重複行のカウントを表示する。
今回の場合は、重複したIPアドレスのカウントを表示する。
カウントの降順で並べ替える。
出力する行数を指定する。