InfraLab
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

CommandDescriptionExampleCopy
jq .jq / yq で jq . を実務運用で使う$ jq . response.json
jq .keyjq / yq で jq .key を実務運用で使う$ jq .name user.json
jq -rjq / 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 lengthjq / yq で jq length を実務運用で使う$ jq ".items | length" response.json
jq selectjq / yq で jq select を実務運用で使う$ jq ".items[] | select(.status == "Running")" pods.json
jq mapjq / yq で jq map を実務運用で使う$ jq ".items | map(.metadata.name)" pods.json
jq to_entriesjq / yq で jq to_entries を実務運用で使う$ jq "to_entries[] | [.key,.value]" tags.json
jq group_byjq / yq で jq group_by を実務運用で使う$ jq "group_by(.status) | map({status: .[0].status, count: length})" list.json
jq reducejq / yq で jq reduce を実務運用で使う$ jq "reduce .items[] as $i (0; . + $i.size)" data.json
jq --argjq / yq で jq --arg を実務運用で使う$ jq --arg ns default ".items[] | select(.metadata.namespace == $ns)" pods.json
jq --slurpjq / yq で jq --slurp を実務運用で使う$ jq --slurp "add" part-*.json
jq keysjq / yq で jq keys を実務運用で使う$ jq "keys" object.json
jq sort_byjq / yq で jq sort_by を実務運用で使う$ jq ".items | sort_by(.metadata.creationTimestamp)" pods.json
AWS extract instance IPjq / yq で AWS extract instance IP を実務運用で使う$ aws ec2 describe-instances | jq -r ".Reservations[].Instances[].PrivateIpAddress"
AWS filter runningjq / yq で AWS filter running を実務運用で使う$ aws ec2 describe-instances | jq -r ".Reservations[].Instances[] | select(.State.Name=="running") | .InstanceId"
kubectl pod namesjq / yq で kubectl pod names を実務運用で使う$ kubectl get pods -A -o json | jq -r ".items[].metadata.name"
kubectl image listjq / yq で kubectl image list を実務運用で使う$ kubectl get pods -A -o json | jq -r ".items[].spec.containers[].image" | sort -u
CloudTrail event namesjq / yq で CloudTrail event names を実務運用で使う$ jq -r ".Records[].eventName" cloudtrail.json | sort | uniq -c
yq .jq / yq で yq . を実務運用で使う$ yq . values.yaml
yq -rjq / yq で yq -r を実務運用で使う$ yq -r .image.repository values.yaml
yq eval alljq / yq で yq eval all を実務運用で使う$ yq ea ". as $item ireduce ({}; . * $item)" base.yaml override.yaml
yq array imagesjq / yq で yq array images を実務運用で使う$ yq ".spec.containers[].image" deploy.yaml
yq -Njq / yq で yq -N を実務運用で使う$ yq -N ".metadata.name" multi-doc.yaml
yq -ijq / yq で yq -i を実務運用で使う$ yq -i ".replicaCount = 3" values.yaml
yq envjq / yq で yq env を実務運用で使う$ IMAGE=nginx:1.27 yq -i ".image = strenv(IMAGE)" values.yaml
yq select docjq / yq で yq select doc を実務運用で使う$ yq ". | select(.kind == "Deployment")" all.yaml
Helm value setjq / yq で Helm value set を実務運用で使う$ yq -i ".controller.replicaCount = 2" values.yaml
Kustomize patch imagejq / yq で Kustomize patch image を実務運用で使う$ yq -n ".apiVersion="apps/v1" | .kind="Deployment" | .metadata.name="web""
List services portsjq / yq で List services ports を実務運用で使う$ yq ".spec.ports[].port" service.yaml
Change container imagejq / yq で Change container image を実務運用で使う$ yq -i "(.spec.template.spec.containers[] | select(.name == "app") | .image) = "nginx:1.27"" deploy.yaml
Delete yaml keyjq / yq で Delete yaml key を実務運用で使う$ yq -i "del(.metadata.annotations)" deploy.yaml
Merge YAMLjq / yq で Merge YAML を実務運用で使う$ yq eval-all "select(fileIndex == 0) * select(fileIndex == 1)" base.yaml patch.yaml
Related