Classificar linhas com base em um número de largura variável em uma posição fixa

3

Estou tentando classificar um arquivo usando o comando Classificar, mas não está funcionando:

O arquivo contém linhas como:

photo1
photo11
photo12
photo13
photo17
photo18
photo19
photo2
photo22
photo23
photo25
photo26
photo27

Estou usando o comando, sort -k6 Photos para que comece a classificar depois da string "photo", alguém pode dizer onde estou dando errado ??

    
por Noor 29.06.2013 / 20:02

2 respostas

4

Defina a chave de classificação com a posição de início e parada do caractere da chave:

sort -nk1.6,1.8 file

Veja suas amigáveis sort manpages.

    
por 29.06.2013 / 21:25
3

Você precisa especificar um separador de campo.

sort -n -to -k3 Photos

-to diz a sort para usar o como o separador de campo. Os números estão no terceiro campo (o primeiro campo contém ph e o segundo campo contém t ), então usamos -k3 . -n diz sort para ordenar numericamente em vez de alfabeticamente.

    
por 29.06.2013 / 20:39

Tags