web-dev-qa-db-fra.com

jq - Comment filtrer un json qui ne contient pas

J'ai une requête aws que je souhaite filtrer dans jq. Je veux filtrer tous les imageTags qui ne pas se terminent par "les plus récents"

Jusqu'à présent, j'ai fait cela, mais il filtre les éléments contenant "les plus récents" alors que je souhaite filtrer les éléments ne contenant pas les "derniers" (ou ne se terminant pas par les "derniers")

aws ecr describe-images --repository-name <repo> --output json | jq '.[]' | jq '.[]' | jq "select ((.imagePushedAt < 14893094695) and (.imageTags[] | contains(\"latest\")))"

Merci

17
Gavriel Fishel

Vous pouvez utiliser not pour inverser la logique

(.imageTags[] | contains(\"latest\") | not)

Aussi, j'imagine que vous pouvez simplifier votre pipeline en un seul appel jq.

27
J. Doe