JQ-YQ34 cmd
jq / yq チート集
JSON/YAML を CLI で扱う jq と mikefarah 版 yq の基本、配列・オブジェクト操作、select/map/reduce、AWS CLI や kubectl 出力抽出、Helm values 編集をまとめたチート集。
- 更新日
- 2026-05-14
- 参照範囲
- 公式ドキュメント / man page / 主要ベンダーCLI
- 対象実装
- 主要 Linux / BSD / ネットワーク機器 CLI の一般的な実装
- 免責
- OS とバージョン差分は実環境で確認してください。
34 / 34
| Command | Description | Example | Copy |
|---|---|---|---|
jq . | jq / yq で jq . を実務運用で使う | $ jq . response.json | |
jq .key | jq / yq で jq .key を実務運用で使う | $ jq .name user.json | |
jq -r | jq / yq で jq -r を実務運用で使う | $ jq -r .status response.json | |
jq .[] | jq / yq で jq .[] を実務運用で使う | $ jq ".items[]" list.json | |
jq .[0] | jq / yq で jq .[0] を実務運用で使う | $ jq ".[0]" array.json | |
jq length | jq / yq で jq length を実務運用で使う | $ jq ".items | length" response.json | |
jq select | jq / yq で jq select を実務運用で使う | $ jq ".items[] | select(.status == "Running")" pods.json | |
jq map | jq / yq で jq map を実務運用で使う | $ jq ".items | map(.metadata.name)" pods.json | |
jq to_entries | jq / yq で jq to_entries を実務運用で使う | $ jq "to_entries[] | [.key,.value]" tags.json | |
jq group_by | jq / yq で jq group_by を実務運用で使う | $ jq "group_by(.status) | map({status: .[0].status, count: length})" list.json | |
jq reduce | jq / yq で jq reduce を実務運用で使う | $ jq "reduce .items[] as $i (0; . + $i.size)" data.json | |
jq --arg | jq / yq で jq --arg を実務運用で使う | $ jq --arg ns default ".items[] | select(.metadata.namespace == $ns)" pods.json | |
jq --slurp | jq / yq で jq --slurp を実務運用で使う | $ jq --slurp "add" part-*.json | |
jq keys | jq / yq で jq keys を実務運用で使う | $ jq "keys" object.json | |
jq sort_by | jq / yq で jq sort_by を実務運用で使う | $ jq ".items | sort_by(.metadata.creationTimestamp)" pods.json | |
AWS extract instance IP | jq / yq で AWS extract instance IP を実務運用で使う | $ aws ec2 describe-instances | jq -r ".Reservations[].Instances[].PrivateIpAddress" | |
AWS filter running | jq / yq で AWS filter running を実務運用で使う | $ aws ec2 describe-instances | jq -r ".Reservations[].Instances[] | select(.State.Name=="running") | .InstanceId" | |
kubectl pod names | jq / yq で kubectl pod names を実務運用で使う | $ kubectl get pods -A -o json | jq -r ".items[].metadata.name" | |
kubectl image list | jq / yq で kubectl image list を実務運用で使う | $ kubectl get pods -A -o json | jq -r ".items[].spec.containers[].image" | sort -u | |
CloudTrail event names | jq / yq で CloudTrail event names を実務運用で使う | $ jq -r ".Records[].eventName" cloudtrail.json | sort | uniq -c | |
yq . | jq / yq で yq . を実務運用で使う | $ yq . values.yaml | |
yq -r | jq / yq で yq -r を実務運用で使う | $ yq -r .image.repository values.yaml | |
yq eval all | jq / yq で yq eval all を実務運用で使う | $ yq ea ". as $item ireduce ({}; . * $item)" base.yaml override.yaml | |
yq array images | jq / yq で yq array images を実務運用で使う | $ yq ".spec.containers[].image" deploy.yaml | |
yq -N | jq / yq で yq -N を実務運用で使う | $ yq -N ".metadata.name" multi-doc.yaml | |
yq -i | jq / yq で yq -i を実務運用で使う | $ yq -i ".replicaCount = 3" values.yaml | |
yq env | jq / yq で yq env を実務運用で使う | $ IMAGE=nginx:1.27 yq -i ".image = strenv(IMAGE)" values.yaml | |
yq select doc | jq / yq で yq select doc を実務運用で使う | $ yq ". | select(.kind == "Deployment")" all.yaml | |
Helm value set | jq / yq で Helm value set を実務運用で使う | $ yq -i ".controller.replicaCount = 2" values.yaml | |
Kustomize patch image | jq / yq で Kustomize patch image を実務運用で使う | $ yq -n ".apiVersion="apps/v1" | .kind="Deployment" | .metadata.name="web"" | |
List services ports | jq / yq で List services ports を実務運用で使う | $ yq ".spec.ports[].port" service.yaml | |
Change container image | jq / yq で Change container image を実務運用で使う | $ yq -i "(.spec.template.spec.containers[] | select(.name == "app") | .image) = "nginx:1.27"" deploy.yaml | |
Delete yaml key | jq / yq で Delete yaml key を実務運用で使う | $ yq -i "del(.metadata.annotations)" deploy.yaml | |
Merge YAML | jq / yq で Merge YAML を実務運用で使う | $ yq eval-all "select(fileIndex == 0) * select(fileIndex == 1)" base.yaml patch.yaml |