layout: post title: 命令行JSON,CSV数据处理工具简介 date: 2014-01-01 11:03 comments: true categories: json
json现在是最流行的数据交换格式了,但是在命令行中显示, 查找, 处理, 还是不如纯文本方便, 但是有了下面这些工具, 处理json数据可以易如反掌了。。
以下只介绍OS X平台, Linux下相应工具也都有, 建议自己折腾就不介绍了, 至于windows用户, 自己想办法。。。
brew, OS X的包管理工具, 没有的话请先安装http://brew.sh/python, 编程语言, 系统自带ruby, 编程语言, 系统自带node, 基于v8的javascript平台, brew install nodego, 编程语言, Google出品, brew install goR, 编程语言, 擅长计算机统计和画图, http://www.r-project.org/pip, python的包管理工具, 如果没有的话, 先安装easy_install pipgem, ruby的包管理工具, 自带了npm, node的包管理工具, 安装完node就有了curl, 下载工具, 系统自带wget, 另一个下载工具, brew install wgetyajl, C语言编写的json库, 安装: brew install yajlpygmentize, ruby语言的Pygments绑定, Pygments是用python编写的代码高亮工具jq, C编写的命令行json处理工具, brew install jqjson2csv, go编写的json转csv工具, go get github.com/jehiah/json2csvcsvkit, python编写的csv格式处理工具, sudo pip install csvkitxml2json, javascript编写的xml转json工具, npm install -g xml2json-commandjson文件curl, 比如curl https://registry.npmjs.org > registry.jsonwget, 比如wget https://registry.npmjs.org -o registry.jsonjson文件过来json文件$ cat registry.json
{"db_name":"registry","doc_count":52964,"doc_del_count":4875,"update_seq":870607,"purge_seq":0,"compact_running":false,"disk_size":208315547783,"data_size":175867283928,"instance_start_time":"1388433643562558","disk_format_version":6,"committed_update_seq":870607}
``
## 校验`json`
### 1. yajl
```shell
$ cat registry.json | json_verify`
$ cat invalid.json | python -mjson.tool
jsoncat registry.json | json_reformat
cat invalid.json | python -mjson.tool
cat registry.json | json_reformat | pygmentize -l javascript