Apache等のアクセスログに生成される、複数ホストで同一日付のファイルをAWSTATSなどで使用する場合があります。 その場合logresolvemergeなどを利用するのですが、logresolvemergeは各ファイルが内部でソートされていることを前提としています。 ログは書きこみプロセスなどの関係で時折内部で日時が前後することがあるため、ファイルの内部をソートし直す必要があります。 スクリプト言語等のループ等を利用してもソートすることができるのですが、今回はシェルを使った方法を紹介したいと思います。 使うコマンドは下記になります。 cat sort sed 例として、ログの中身が下記のようになっているファイルが数十個あるとします。 125.54.146.207 – app [21/Nov/2011:15:30:28 +0900] “GET /hoge.js HTTP/1.1” 30
![cloudpackブログ - シェルってなんじゃ?(sedとsortでアクセスログのソート)](https://cdn-ak-scissors.b.st-hatena.com/image/square/377a9c51a86d20c871561f0ba1caf65409e4f7f2/height=288;version=1;width=512/https%3A%2F%2Firet.media%2Fwp-content%2Fthemes%2Fclp_media%2Fimg%2Fcommon%2Fogp-thumbnail_1200x630.png%3F135792468)