「 を端末で扱う」だけで生産性は何倍にもなる。grep + awk から脱却し、構造化データ専用 を 6 つ整理します。
6 ツール早見表
| ツール | 対象 | 強み |
|---|---|---|
| jq | JSON | de facto、ストリーミング処理 |
| yq | /XML/TOML | jq クローン、設定ファイル操作 |
| 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 categoryVisiData で対話的探索
`vd data.csv` で端末上で表を開ける。Excel ライクなナビゲーション、フィルタ、集計、グラフまで。百万行の CSV でも軽快に動く。
ふくふくの進め方
「ログ調査・データ品質確認の手作業を削減したい」というご相談に、CLI ツールセットの導入と社内標準化を 1〜2 週間でご支援します。
次回予告
EP.03 はローカル分析 :DuckDB / SQLite / Postgres の使い分け。
この記事の感想を教えてください
あなたの 1 クリックで、本当にこの記事は更新されます。「もっと詳しく」「続編希望」が一定数集まった記事は、 ふくふくが 実際に内容を拡充したり続編記事を公開 します。 送信したリアクションはお使いのブラウザに記録され、再カウントされません。