カレントディレクトリ以下のJSONファイルに対して、まとめて jq
コマンドを適用するには次のようにします。
find . -name "*.json" -exec sh -c "jq < {}" \;
例えばこんなフォーマットのJSONファイルからstringだけを抜き出したいときは、
[{"string": "abc", "number": 123}, {"string": "def", "number": 456}]
次のようにしてフィルタを適用します。
find . -name "*.json" -exec sh -c "jq '.[].string' < {}" \;
このように、 find
コマンドの -exec
と sh -c
との組み合わせは、 find
の結果を別なコマンドの標準入力にリダイレクトしたいときに使えます。