2010-12-30 4 views
14

Ho un fileordinamento stabile in linux

ksh$ cat test 
b d 
b c 
a b 
a a 

voglio ordinare il primo campo ma voglio ordinamento stabile cioè dell'ordine di 2 ° campo dovrebbe rimanere lo stesso. Voglio uscita come:

a b 
a a 
b d 
b c 

Se provo:

ksh$sort -k1 -s test 

ottengo

a a 
a b 
b c 
b d 

Aiutateci,

Grazie

risposta

22

Hai dimenticato di vincolare la chiave campi. Di default usa fino alla fine della linea.

sort -k1,1 -s t.txt 
+2

penso che potrebbe valere la pena di spiegare il '-s' per le persone che stanno avendo lo stesso problema, ma, a differenza l'interrogante originale, don' lo so. Il '-s' è lo stesso di' --table' e senza di esso, l'ordine delle altre colonne non verrà conservato. – njc

4

è necessario specificare il campo di fine:

sort -k1,1 -s test