使用jq按长度对数组中的字符串进行排序

时间:2020-12-23 20:48:24

标签: docker tags jq gcloud

我正在通过 gcloud cli 从 GCP 获取所有 docker 标签的列表

ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL);

输出:

gcloud container images list-tags gcr.io/my_image --format=json | jq -S .[].tags

有没有办法对值进行排序以保持一致性?这样它看起来像这样:

[
  "build.160",
  "ed37ba0ea1f31d62ff48ef817addd30c8be9952c"
]
[
  "5cd7190a96f633cfb8b5fa0f876f147dbe700dad",
  "build.161"
]
[
  "9a9f030fcf7544565b9ebf8ba37330b649e156ba",
  "build.159"
]

1 个答案:

答案 0 :(得分:1)

您可以对数组中字符串的长度执行sort_by,并颠倒顺序以保持最长的字符串在前。去掉reverse函数,保持最短的字符串在前

sort_by(length) | reverse
相关问题