Bash脚本和字符串比较

时间:2011-05-06 15:16:33

标签: bash

所有

我有2个版本字符串,例如“2.0.13”和“2.0.2”。我需要比较2个版本并确定哪个版本更高。

如何使用bash做到这一点?

3 个答案:

答案 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定义要排序的字段

但我不能让它发挥作用!