jqでJSONのrecordもfieldもsortする
やりたいこと
record の順番も field の順番もバラバラな JSON があるんだけど、この JSON 同士を比較してどこに差があるのかを知りたい。
方法
毎度おなじみ jq を使う。
- –sort-keys オプションを使うと field の方を sort できる
- 'sort()' あるいは 'sort_by()' という function で record を sort できる
取れました。jq 'sort_by(.<col>) --sort-keys で出力した結果同士を比較するとだいたい目的を達成できました。「だいたい」なのがなぜかよく分からんですが。
— wtnabe (@wtnabe) February 26, 2020
ということでまとめると
jq --sort_by('.<key>') --sort-keys <file>
と叩くと JSON の record と field 両方が sort できるので、sort 済みの JSON 同士を比較すれば human readable な diff を生成できるようになります。
More
Recent Posts
- » Emacs + ruby-lsp + Standardで快適コーディング
- » ものぐささんのためのTypeScriptを使いつつGASでも使えるライブラリ開発環境
- » quickjs.rbでRubyの環境からJavaScriptのロジック(I/Oのないコード)の動作結果を得る
- » kintoneからエクスポートしたCSVデータの変換ライブラリを作ってみた
- » MCPメモ
- » Mermaidの大きすぎる余白を調整する方法の一例
- » LLMアプリをLLMを使いながら作ってみた
- » Gemini Advancedでもうゲームが変わっていた
- » 今さらLLMのモデルの違いとプロンプトエンジニアリングについて
- » Bundler環境でIRBでもLSPでもドキュメントを利用する方法