linux - Sort numbers values - separated by a dot or any other separator character - 在 RHEL5 中排序版本值

标签 linux bash sorting numbers versions

Linux RHEL5 机器

如何对以下输入进行排序以在 latest 变量中获取 1.0.0.1019?尝试了 -t-k-n 但没有帮助,或者可能是我遗漏了什么。

$ echo '1.0.0
1.0.0.1018
1.0.0.1019
1.0.0.1019
1.0.0.7' | sort -u 

最佳答案

能否请您尝试跟随并告诉我这是否有帮助(使用 GNU sort 测试):

echo "1.0.0
1.0.0.1018
1.0.0.1019
1.0.0.1019
1.0.0.7" | sort --version-sort --field-separator=. --key=4 -r

如果您希望它排在最后,上面的代码会将 1019 放在第一位(最新的),然后请删除上面代码中的 -r

关于linux - Sort numbers values - separated by a dot or any other separator character - 在 RHEL5 中排序版本值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50691298/

相关文章:

linux - Git 和硬链接(hard link)

git - 使用 bash 脚本获取当前分支中的提交数

bash - 如何使用 bash 在特定行之后插入文本?

javascript - 类型错误:无法读取未定义的属性 'score'

sql - SQL 过程中的排序顺序

sorting - DefaultGroovyMethod排序可导致版本更改和数据库更新

c - 在客户端之前运行多进程服务器

linux - 如何排除第一列和第二列具有相同值的行?

linux - 即使在注销/登录后,hyper-v ubuntu 对 ~/.profile 的更改也不会生效

linux - 在文件末尾添加 NULL (\0)