所有
我有2个版本字符串,例如“2.0.13”和“2.0.2”。我需要比较2个版本并确定哪个版本更高。
如何使用bash做到这一点?
答案 0 :(得分:5)
您可以使用sort -V
(版本排序):
echo -e "2.0.13\n2.0.2" | sort -V
结果:
2.0.2
2.0.13
答案 1 :(得分:1)
来自bmk
您可以使用sort -V(版本排序)
如果它有效,这是最好的答案,但遗憾的是并非所有sort
命令都有-V
选项。
如果你没有,你将不得不切换到Perl。较新版本的Perl允许某些变量通过在其前面添加小写“v”来声明为版本。然后,您可以将它们与gt
运算符进行比较。
有关详细信息,请参阅Perldoc perldata。
答案 2 :(得分:-1)
如果您没有-V
,我确信应该有一种方法可以通过组合来实现:
-t .
使句号分割字段成为句号-n
按数字排序-k
定义要排序的字段但我不能让它发挥作用!