2011/11/01

最近の雑多なコマンド(gauche)

現実逃避駆動スクリプティング。使い捨てでいいんだけど、あえてコマンドにしました的な。

jsonとalistを相互に変換。
$ echo '(("a" . 1)("b" . 2)("c" . (("d" . #(1 2 3)))))' | json2alist -a 
{"a":1,"b":2,"c":{"d":[1,2,3]}}
$ echo '(("a" . 1)("b" . 2)("c" . (("d" . #(1 2 3)))))' | json2alist -a | json2alist
(("a" . 1) ("b" . 2) ("c" ("d" . #(1 2 3))))  


csvをjsonに。csvをtemplate engineに渡すときにかましたり。
$ echo '1,2,3\n4,5,6\n7,8,9'| csv2json
"{\"title\":\"\",\"lines\":3,\"body\":[[\"1\",\"2\",\"3\"],[\"4\",\"5\",\"6\"],[\"7\",\"8\",\"9\"]]}"    


jsonからkeyを取得したり、指定したkeyの値を取得したり。
$ echo '{"a":1,"b":2,"c":{"d":[1,2,3]}}' | pryon -k                                           
a                                                                                                  
b                                                                                                  
c                                                                                                  
$ echo '{"a":1,"b":2,"c":{"d":[1,2,3]}}' | pryon -t                                            
object                                                                                             
$ echo '{"a":1,"b":2,"c":{"d":[1,2,3]}}' | pryon -l                                                
3                                                                                                  
$ echo '{"a":1,"b":2,"c":{"d":[1,2,3]}}' | pryon -e c                                              
{"d":[1,2,3]}                                                                                   
$ echo '{"a":1,"b":2,"c":{"d":[1,2,3]}}' | pryon -e c | pryon -e d                                   
[1,2,3]                                                                                         
$ echo '{"a":1,"b":2,"c":{"d":[1,2,3]}}' | pryon -e c | pryon -e d | pryon -i 2                      
3

最後のやつは、jshonってののライト版的ノリで。ちょっと便利。というかjshonがうまいこと動いてくれなかったので仕方なく。

プログラミングGauche

0 件のコメント:

コメントを投稿