Vorrei ordinare un file su più campi. file A scheda campione separato è:ordinamento unix, con chiavi primarie e secondarie
a 1 1.0
b 2 0.1
c 3 0.3
a 4 0.001
c 5 0.5
a 6 0.01
b 7 0.01
a 8 0.35
b 9 2.3
c 10 0.1
c 11 1.0
b 12 3.1
a 13 2.1
e mi piace averlo ordinato alfabeticamente campo 1 (con -d
), e quando campo1 è la stessa, ordina in campo 3 (con l'opzione -g
).
A non è riuscito a farlo. I miei tentativi sono stati (con un vero e proprio carattere di tabulazione invece di <TAB>
):
cat tst | sort -t"<TAB>" -k1 -k3n
cat tst | sort -t"<TAB>" -k1d -k3n
cat tst | sort -t"<TAB>" -k3n -k1d
Nessuno di questi stanno lavorando. Non sono sicuro che l'ordinamento sia persino in grado di farlo. Scriverò uno script per risolvere il problema, quindi sono curioso di sapere se esiste una soluzione che utilizza solo lo ordinamento.
Il ' Il comando sort' sembra non supportare questo. Prendi in considerazione il passaggio a una lingua come Python o Perl. – Philipp
Sì, certo che sarà la mia soluzione, come ho detto. Volevo solo sapere se si può fare con puro tipo – zseder