ShellでJSONを使う


概要

Shellでモノを作ってて、受け渡す値とかをJSONにしたくなった。

Shellでそんなものまさか無いだろう、と思ったらあったので、記録までに


コレ

https://github.com/dominictarr/JSON.sh



使い方

JSONのparseだけが出来る。

で、pipeでその後の取得処理とかを書くという面白スタイル。



サンプル


リソース(params.json)

{
	"marker":"p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 22.0px",
	"picker":"<p class=\"p1\">"
}


./JSON.sh < params.json


結果

["marker"]	"p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 22.0px"
["picker"]	"<p class=\"p1\">"
[]	{"marker":"p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 22.0px","picker":"<p class=\"p1\">"}	

こんな感じに、[key] (tab) value になる。


使い方

./JSON.sh < params.json | 全キーを取り出す式


とか

./JSON.sh < params.json | キーAを使ってバリューAを取り出す式


とかやってた。

サンプルのmarkerが欲しければ、

./libraries/JSON.sh < params.json | egrep '\["marker"\]' | cut -d'	' -f2 | sed s/'\"'//g