Classificando listas quando não há zeros à esquerda

5

Gostaria de ordenar isto numericamente e as chaves de comando de ordenação do primeiro caractere.

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

O que devo fazer aqui?

    
por Bill 22.11.2014 / 23:53

1 resposta

7

sort -V input

de man sort :

   -V, --version-sort
       natural sort of (version) numbers within text

que vai te pegar:

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

Você também pode usar:

sort -t _ -k 3 -n input

(divida em _ e use o terceiro campo classificado por número)

    
por 23.11.2014 / 00:03