gpt4 book ai didi

macos - 如何在 macOS 上模拟 "sort -V"

转载 作者:IT王子 更新时间:2023-10-29 00:42:17 29 4
gpt4 key购买 nike

我已经编写了一个 bash 脚本,我需要在依赖于 sort 命令的 linux 和 macOS 上以相同的方式工作。我将 git tag -l 的输出通过管道传递给 sort,以按照正确的语义顺序获取所有版本标签的列表。 GNU 提供了 -V 这使得它变得自动但 macOS 不支持这个论点,所以我需要弄清楚如何在没有它的情况下完成这个排序顺序。

6.3.1.1
6.3.1.10
6.3.1.11
6.3.1.2
6.3.1.3
...

需要排序为

6.3.1.1
6.3.1.2
6.3.1.3
...
6.3.1.10
6.3.1.11

最佳答案

您可以使用 git tag 的附加功能来获取与模式匹配的标签列表,并根据版本标签顺序正确排序(通常没有前导零):

$ git tag --sort v:refname
v0.0.0
v0.0.1
v0.0.2
v0.0.3
v0.0.4
v0.0.5
v0.0.6
v0.0.7
v0.0.8
v0.0.9
v0.0.10
v0.0.11
v0.0.12

来自 $ man git-tag :

   --sort=<type>
Sort in a specific order. Supported type is "refname
(lexicographic order), "version:refname" or "v:refname"
(tag names are treated as versions). Prepend "-" to reverse
sort order. When this option is not given, the sort order
defaults to the value configured for the tag.sort variable
if it exists, or lexicographic order otherwise. See
git config(1).

关于macos - 如何在 macOS 上模拟 "sort -V",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21394536/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com