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 node
go
, 编程语言, Google出品, brew install go
R
, 编程语言, 擅长计算机统计和画图, http://www.r-project.org/pip
, python
的包管理工具, 如果没有的话, 先安装easy_install pip
gem
, ruby
的包管理工具, 自带了npm
, node
的包管理工具, 安装完node
就有了curl
, 下载工具, 系统自带wget
, 另一个下载工具, brew install wget
yajl
, C
语言编写的json
库, 安装: brew install yajl
pygmentize
, ruby
语言的Pygments
绑定, Pygments
是用python
编写的代码高亮工具jq
, C
编写的命令行json
处理工具, brew install jq
json2csv
, go
编写的json
转csv
工具, go get github.com/jehiah/json2csv
csvkit
, python
编写的csv
格式处理工具, sudo pip install csvkit
xml2json
, javascript
编写的xml
转json
工具, npm install -g xml2json-command
json
文件curl
, 比如curl https://registry.npmjs.org > registry.json
wget
, 比如wget https://registry.npmjs.org -o registry.json
json
文件过来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
json
cat registry.json | json_reformat
cat invalid.json | python -mjson.tool
cat registry.json | json_reformat | pygmentize -l javascript