bash - sort -n 将 10 放在 9 之前
问题描述
我正在尝试对以下数字进行排序,但总是在 9 之前排序 10。
$ cat disks
1I:1:1
1I:1:3
1I:1:2
1I:1:4
2I:1:5
2I:1:6
2I:1:7
2I:1:8
3I:1:9
3I:1:10
3I:1:12
3I:1:11
使用 sort -n 排序后,如下所示。
$ sort -n -o sorted /tmp/disks
$ cat sorted
1I:1:1
1I:1:2
1I:1:3
1I:1:4
2I:1:5
2I:1:5
2I:1:7
2I:1:8
3I:1:10
3I:1:11
3I:1:12
3I:1:9 ---> wrong sort
请让我知道哪个排序选项可以正确执行此操作?
解决方案
如果您sort
支持此选项,则可以使用版本排序:
sort -V -o sorted /tmp/disks
推荐阅读
- python - 嵌套的 JSON 值导致“TypeError:'int64' 类型的对象不是 JSON 可序列化的”
- swift - Swift 4 中的 addTarget 有什么问题
- azure - 为什么 CNAME 记录在 Azure DNS 上返回 404 错误
- css - 在 CSS 中,显示内联块的作用类似于显示块
- python - 上课时如何带走健康点?
- python - 如何将脑电图触发器从一个 PsychoPy 脚本插入另一个?
- javascript - 在 kotlin multiplateform 中模拟(java 和 js)
- javascript - jquery .is(":focus") 在 ios webview 上返回 false
- electron - 窗口未聚焦时不播放音频
- python-3.x - TypeError:encrypt() 后不能调用decrypt()