Check if string is present in usernames in multiple AWS accounts using awscli and jq

for profile in $(grep "\[" ~/.aws/credentials | tr -d '[|]'); \
do echo $profile; \
aws --profile $profile iam list-users | jq '.Users[] | select(.UserName | contains("dmitri"))'; \
done
This will:
  • get all AWS profiles from awscli config ~/.aws/credentials
  • filter the profiles, by removing symbols [ and ] with tr
  • print the profile name
  • list all users in the AWS profile using awscli tool - an output will be a json
  • filter the json by UserName field with jq which will contain the string dmitri and print the result