cheetsheet/jq

August 03, 2021

ダブルコーテーションを除く

-r

AWS CloudFrontのAPIアクセスログからAPIキーをベースにアクセス状況をしらべた

jq ‘Records[]‘などで、外側の余計な配列なりハッシュなりを剥がす

❯ cat cloudtrail_root_log.json  | jq -r '.Records[]|select(.userIdentity.accessKeyId == "himitunaisho")'  > cloudtrail_root_only.json

EC2のspotfleetインスタンスのIPアドレスを調べる。結果は台数ごとに出力されるので、1行だけ取り出すようにhead -n を使う

aws ec2 describe-instances --profile test --filters "Name=tag-key,Values=Name" "Name=tag-value,Values=spotfleet-20171027"  | jq -r '.Reservations[].Instances[] | select(.State.Name == "running") | .PrivateIpAddress' 

Pretty print the json

jq ”.” < filename.json

Access the value at key “foo”

jq ‘.foo’

Access first list item

jq ‘.[0]’

Slice & Dice

jq ‘.[2:4]’ jq ‘.[:3]’ jq ‘.[-2:]’

参考

ここがわかり易かった => jq コマンドが強力すぎてヤバい件 CUBE SUGAR STORAGE

AWSでの使い方

jqコマンドが実は高性能すぎてビビッた話 - beatsync.net

jq Manual オフィシャル


Profile picture

Written by tin-machine 技術関連のメモ Twitter