linux – 在bash中对多个小数的数字进行排序

前端之家收集整理的这篇文章主要介绍了linux – 在bash中对多个小数的数字进行排序前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在bash中使用带-n选项的sort不会给我预期的结果.
  1. $cat numbers | sort -n
  2. 1.0
  3. 1.1
  4. 1.11.4
  5. 1.15
  6. 1.3
  7. 1.3.3
  8. 1.4-p1
  9. 1.6.1
  10. 2.2.10
  11. 2.2.2
  12. 2.4
  13. 2.4.6

我尝试使用-k1,-k1.1n等(-k1.3n仅对从1开始的数字获得正确的顺序).看来这里有一些我非常基本的东西……

解决方法

你需要-t.用于指定’.’的标志作为您的分隔符,多个键位置说明符处理逐渐更长/更深的数字.我仍然不太确切地知道它是如何工作的,但是它有效……
  1. sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n numbers

要么

  1. cat numbers | sort -t. -k 1,4n

猜你在找的Linux相关文章