没有前导零时对列表进行排序

Bil*_*ill 6 text-processing sort

我想对它进行数字排序,排序命令从第一个字符开始。

CPL_V11.01.00_1
CPL_V11.01.00_10
CPL_V11.01.00_2
CPL_V11.01.00_3
CPL_V11.01.00_35
CPL_V11.01.00_36
CPL_V11.01.00_37
CPL_V11.01.00_38
CPL_V11.01.00_39
CPL_V11.01.00_4
CPL_V11.01.00_40
CPL_V11.01.00_41
CPL_V11.01.00_42
CPL_V11.01.00_43
CPL_V11.01.00_44
CPL_V11.01.00_45
CPL_V11.01.00_46
CPL_V11.01.00_47
Run Code Online (Sandbox Code Playgroud)

我应该在这里做什么?

Ant*_*hon 8

sort -V input
Run Code Online (Sandbox Code Playgroud)

来自man sort

   -V, --version-sort
       natural sort of (version) numbers within text
Run Code Online (Sandbox Code Playgroud)

这会让你:

CPL_V11.01.00_1
CPL_V11.01.00_2
CPL_V11.01.00_3
CPL_V11.01.00_4
CPL_V11.01.00_10
CPL_V11.01.00_35
CPL_V11.01.00_36
CPL_V11.01.00_37
CPL_V11.01.00_38
CPL_V11.01.00_39
CPL_V11.01.00_40
CPL_V11.01.00_41
CPL_V11.01.00_42
CPL_V11.01.00_43
CPL_V11.01.00_44
CPL_V11.01.00_45
CPL_V11.01.00_46
Run Code Online (Sandbox Code Playgroud)

您还可以使用:

sort -t _ -k 3 -n input
Run Code Online (Sandbox Code Playgroud)

(拆分_并使用按数字排序的第三个字段)