Eu gostaria de classificar um arquivo:
D104HN-D104HA 8.320 4.521 1.69e+05 --
D104HN-D104HB* 8.320 2.823 2.93e+05 --
A90HB#-A90HA 1.655 4.207 7.12e+05 --
A90HB#-F91HA 1.653 4.411 8.59e+04 --
A114HB#-A114HA 1.253 4.098 7.67e+05 --
A114HB#-R111HA 1.251 3.929 1.76e+05 --
A114HB#-W110HA 1.253 4.451 3.68e+04 --
F91HE*-F91HZ 7.237 7.122 7.85e+05 --
F91HE*-K92HA 7.242 3.910 4.88e+04 --
e pegue isso
A90HB#-A90HA 1.655 4.207 7.12e+05 --
A90HB#-F91HA 1.653 4.411 8.59e+04 --
F91HE*-F91HZ 7.237 7.122 7.85e+05 --
F91HE*-K92HA 7.242 3.910 4.88e+04 --
D104HN-D104HA 8.320 4.521 1.69e+05 --
D104HN-D104HB* 8.320 2.823 2.93e+05 --
A114HB#-A114HA 1.253 4.098 7.67e+05 --
A114HB#-R111HA 1.251 3.929 1.76e+05 --
A114HB#-W110HA 1.253 4.451 3.68e+04 --
Ou seja, classifique numericamente o segundo e os seguintes caracteres da primeira sequência de não espaços em branco na linha.
text-processing
files
sort
Edith
fonte
fonte
sort
comando?Respostas:
Classifica
n
umerically sobre umk
ey começando com o2
ND de caracteres do1
r campo ignorando principaisb
lanks (e terminando no final da linha, mas que não importa para um tipo numérico que considera apenas a sequência inicial de dígitos decimais).Observe que, se houver um empate, entre as duas linhas:
Em seguida, a ordem será baseada na classificação de último recurso que compara as duas linhas completamente como seqüências de caracteres.
Com alguns códigos de idioma, os espaços em branco seriam ignorados em primeira instância para comparar as strings; nesse caso, o F91 viria antes do K92 (como
F
antesK
). Com outras pessoas como no local C, os espaços em branco não seriam ignorados e o K92 viria antes do F91 (o espaço classifica antesF
).Para uma classificação de último recurso que ignoraria espaços em branco à parte, independentemente do código do idioma, você pode:
Essa
1b
classificaria (após empates na primeira tecla) lexicamente na seção da linha que começa com o primeiro campo ignorando espaços em branco à esquerda.fonte