ふくふくHukuhuku Inc.
EP.02Toolbox 10分公開: 2026-05-10

構造化データ操作の cli 6選:jq / yq / mlr / xsv / dasel / VisiData

json / yaml / csv を端末から叩き直すための CLI 群。grep + awk から脱却し、jq でストリーム JSON を、Miller で巨大 CSV を、VisiData で対話的に探索する。

#道具箱#jq#Miller#cli
シェア

を端末で扱う」だけで生産性は何倍にもなる。grep + awk から脱却し、構造化データ専用 を 6 つ整理します。

6 ツール早見表

ツール対象強み
jqJSONde facto、ストリーミング処理
yq/XML/TOMLjq クローン、設定ファイル操作
Miller (mlr)/TSV/JSON-Lines ライク、軽量
xsv(Rust)CSV巨大 CSV を桁違いに速く
dasel複数フォーマットJSON/YAML/TOML 横断
VisiDataあらゆる表形式端末で対話的探索

jq の頻出パターン

jq 実用例
Bash
# 配列から特定フィールドを抽出cat events.json | jq '.[] | .user_id'
# 条件フィルタcat events.json | jq '.[] | select(.event_name == "purchase")'
# 集計cat events.json | jq '[.[] | .amount] | add'
# CSV に変換cat events.json | jq -r '[.user_id, .amount] | @csv'

Miller (mlr) の SQL ライク操作

Miller で集計
Bash
# CSV を SQL ライクに集計mlr --csv stats1 -a sum,mean,p95 -f amount -g user_id orders.csv
# JSON Lines をフィルタ + 集計cat events.jsonl | mlr --jsonl filter '$amount > 1000' \                       then stats1 -a count -g category

VisiData で対話的探索

`vd data.csv` で端末上で表を開ける。Excel ライクなナビゲーション、フィルタ、集計、グラフまで。百万行の CSV でも軽快に動く。

ふくふくの進め方

ログ調査・データ品質確認の手作業を削減したい」というご相談に、CLI ツールセットの導入と社内標準化を 1〜2 週間でご支援します。

次回予告

EP.03 はローカル分析 :DuckDB / SQLite / Postgres の使い分け。

シェア

この記事の感想を教えてください

あなたの 1 クリックで、本当にこの記事は更新されます。「もっと詳しく」「続編希望」が一定数集まった記事は、 ふくふくが 実際に内容を拡充したり続編記事を公開 します。 送信したリアクションはお使いのブラウザに記録され、再カウントされません。

シリーズの外も探す:

まずは、現状を聞かせてください。

要件が固まっていなくて大丈夫です。現状診断と方針提案までを無料でお手伝いします。

無料相談フォームへ hello [at] hukuhuku [dot] co [dot] jp