日付に基づいて行を並べ替える

日付に基づいて行を並べ替える

次の形式のテキストファイルがあり、日付に基づいて行を並べ替える必要があります。これを行う簡単な方法はありますか(好ましくはbashで)?

2013-May-30     2
2013-May-21     10
2013-Jun-27     8
2013-Jun-18     9
2013-Jun-09     17
2013-May-20     21
2013-Jun-10     1
2013-Jun-01     2
2013-Aug-09     6
2013-Aug-08     5
2013-Aug-07     2
...

ベストアンサー1

sortGNUにフィールドを別の文字(あなたのダッシュ)に分割するように指示すると、-ソートが簡単です。

$ sort -n -t"-" -k1 -k2M -k3 file.txt

はい

$ sort -n -t"-" -k1 -k2M -k3 file.txt
2013-May-20     21
2013-May-21     10
2013-May-30     2
2013-Jun-01     2
2013-Jun-09     17
2013-Jun-10     1
2013-Jun-18     9
2013-Jun-27     8
2013-Aug-07     2
2013-Aug-08     5
2013-Aug-09     6

引用する

おすすめ記事