Linux按数值排序文件夹

Ste*_*ene 0 linux sorting bash grep numeric

我们有一个数据集

ls -1 /opt/test/kortinfo/
1.0.0
1.0.1
1.0.2
1.1.0
1.10.0            // Error
1.2.0
1.3.0
1.4.0
1.5.0
1.5.1
1.5.2
1.6.0
1.7.0
1.8.0
1.8.1
1.9.0
Run Code Online (Sandbox Code Playgroud)

正如我们在这里看到的那样,文件夹1.10.0放错位置,因为它大于1.9.0

我们试图把它管道sort -g,sort -nsort -ng但也不会正确地显示由它们的数量值排序的文件夹.

ls -1 /opt/test/kortinfo/ | grep -v "siste" | sort -ng
1.0.0
1.0.1
1.0.2
1.1.0
1.10.0            // Still the same error
1.2.0
1.3.0
1.4.0
1.5.0
1.5.1
1.5.2
1.6.0
1.7.0
1.8.0
1.8.1
1.9.0
Run Code Online (Sandbox Code Playgroud)

有谁知道如何通过数值正确排序这些?

cho*_*oba 5

使用-v开关ls:

ls -v
Run Code Online (Sandbox Code Playgroud)

man ls 说:

-v文本中的自然类型(版本)数字