csviewerにsort optionを付けた

はじめに

以前csviewerというcsvをいい感じに見るcliツールを作っていた

詳しく以下

golang.tokyo#6 でLTしてきた

発表資料

sort optionを付けた

作った当初からだったが日頃使っているとやはりsort optionが欲しくなる

なので重い腰を上げてえいやっと作った

Konboi/csviewer 0.0.2

こんな感じでsortできる

 $ csviewer -p _example/example.csv -s 'phone asc'
+-----+-------+-----------------+-----------+--------+
| ID  | NAME  |      MAIL       |   PHONE   | ADRESS |
+-----+-------+-----------------+-----------+--------+
|   3 | c     |                 |           |  22222 |
|   2 | b     | bbb@hoge.fuga   |     12345 |        |
|   1 | a     | aaaa@hoge.fuga  |    123456 | 111111 |
|  10 | e     | eeeee@fuga.hgoe |    654321 |        |
|   5 | d     | ddd@fuga.hgoe   | 123456789 |        |
| 222 | asdfg | asdfg@fuga.hgoe | 987654321 |        |
+-----+-------+-----------------+-----------+--------+

個人的に頑張ったところとしては数値と文字列両方に対応しているところ

 $ csviewer -p _example/example.csv -s 'mail desc'
+-----+-------+-----------------+-----------+--------+
| ID  | NAME  |      MAIL       |   PHONE   | ADRESS |
+-----+-------+-----------------+-----------+--------+
|  10 | e     | eeeee@fuga.hgoe |    654321 |        |
|   5 | d     | ddd@fuga.hgoe   | 123456789 |        |
|   2 | b     | bbb@hoge.fuga   |     12345 |        |
| 222 | asdfg | asdfg@fuga.hgoe | 987654321 |        |
|   1 | a     | aaaa@hoge.fuga  |    123456 | 111111 |
|   3 | c     |                 |           |  22222 |
+-----+-------+-----------------+-----------+--------+

さいごに

テストも無いし、今回の修正ははやっつけ感が否めないのでリファクタリングするぞ…

みんなのGo言語【現場で使える実践テクニック】
松木雅幸 mattn 藤原俊一郎 中島大一 牧 大輔 鈴木健太
技術評論社
売り上げランキング: 22,711