Webサーバーのログファイルがあり、最も訪問された10ページを表示するコマンドラインパイプラインを作成する必要があります。
その後、それをシェルスクリプトに含める必要があります。
ログ形式は次のとおりです。
127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET /apache_pb.gif HTTP/1.0" 200 2326
ベストアンサー1
どのように:
grep -oP 'GET \K.*(?=HTTP)' file | sort | uniq -c | sort -rnk1 | head
- 正規表現は、と文字列の間のすべてを
grep
キャプチャします。GET
HTTP
sort
次に、出力をソートします。uniq
数えてみてくださいsort
再び降順で、数字には最初のフィールドしかありません。head
最初の10行(最も訪問されたURLの10行)のみを印刷します。