quando cerco di ordinare 'input' il seguente file di testo:risultato inaspettato da Sort gnu
test1 3
test3 2
test 4
con il comando
sort input
l'uscita è esattamente l'input. Ecco l'output di
od -bc input
:
0000000 164 145 163 164 061 011 063 012 164 145 163 164 063 011 062 012
t e s t 1 \t 3 \n t e s t 3 \t 2 \n
0000020 164 145 163 164 011 064 012
t e s t \t 4 \n
0000027
E 'solo un file separato scheda con due colonne. Quando faccio
sort -k 2
L'uscita di
test3 2
test1 3
test 4
che è quello che mi aspetterei. Ma se faccio
sort -k 1
non cambia nulla rispetto all'ingresso, mentre io aspetterei 'test' per ordinare prima 'test1'. Infine, se faccio
cat input | cut -f 1 | sort
ottengo
test
test1
test3
come previsto. C'è una spiegazione logica per questo? Che cosa è esattamente ordinamento da fare per impostazione predefinita, ad esempio:
sort -k 1
?
La mia versione di sorta:
sort (GNU coreutils) 7.4
Anche con un algoritmo di ordinamento naturale, l'ingresso (come mostrato) è già ordinato. –