layout | title | date | comments | categories |
---|---|---|---|---|
post |
命令行JSON,CSV数据处理工具简介 |
2014-01-01 11:03 |
true |
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
- 可以用
curl
, 比如curl https://registry.npmjs.org > registry.json
- 还可以用
wget
, 比如wget https://registry.npmjs.org -o registry.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
cat registry.json | json_reformat
cat invalid.json | python -mjson.tool
cat registry.json | json_reformat | pygmentize -l javascript