以下のログについてsortコマンドでソートするにはどうすればいいでしょうか?
[]内に日付で古いログを先頭に新しいログはしたのほうにソートしたいです。(昇順)
sortコマンドのデリミターを"["で指定してしまうと年を用いたソートのキー項目の指定ができず
"/"をデリミターに指定してしまうと月、日のキー項目の取得ができません。
10.222.11.11 - - [08/Feb/2020:17:21:21:21 +0800] "POST /set.python HTTP/1.1 300 "-" 10.222.11.11 - - [07/Jan/2021:18:21:21:21 +0800] "POST /set.python HTTP/1.1 300 "-" 10.222.11.11 - - [09/Jun/2021:19:13:21:21 +0800] "POST /set.python HTTP/1.1 300 "-" 10.222.11.11 - - [10/Mar/2021:20:12:21:21 +0800] "POST /set.python HTTP/1.1 300 "-" 10.222.11.11 - - [21/Dec/2021:01:11:21:21 +0800] "POST /set.python HTTP/1.1 300 "-" 10.222.11.11 - - [22/Oct/2021:02:20:21:21 +0800] "POST /set.python HTTP/1.1 300 "-" 10.222.11.11 - - [05/Apr/2021:03:21:21:21 +0800] "POST /set.python HTTP/1.1 300 "-"
以下のようなコマンドを実行しましたがうまくいきませんでした。
結果の内容を確認するとうまくソートされていませんでした。
ls -tr /var/log/httpd/accesslog* | xargs -I {} grep -h -G "POST" | LANG=C sort -t '[' -k2.8,2.11 -k2.4,2.6M -k2.1,2.2n -k2.13,2.23
何かいい方法ありませんでしょうか?
いくら考えてもダメです。
単に逆順にしたいなら tac か rev じゃだめなのかな?