Como classificar colunas de forma independente?

Como classificar colunas de forma independente?
$ sort -t $'\t' -k 1rn,1 -k 2,2rn -k 3f,4 listaprezzi

2050        900           bananas     5
1905        700           grapes      17
250         4000          oranges     10
230         9200          figs        4
220         5000          lemons      10
200         8000          pears       8

Quero classificar a primeira coluna listaprezzinumericamente ao contrário (opção rn), a segunda também rne a terceira em ordem alfabética ( f). Qual é o comando correto?

Já tentei de várias maneiras mas sem sucesso.

Responder1

Se entendi corretamente sua pergunta, você deseja reorganizar seus dados, ou seja, classificar de forma independente (para cima ou para baixo) campos diferentes da mesma linha. Você não pode fazer isso com bare sort, você precisa usar ferramentas adicionais, por exemplo, com a ajuda de awke pastevocê pode escrever o seguinte:

$ paste <(awk '{print $1}' listaprezzi | sort -nr) <(awk '{print $2}' \
  listaprezzi | sort -nr) <(awk '{print $3}' listaprezzi | sort) <(awk \
  '{print $4}' listaprezzi)

E o resultado é

2050    9200    bananas   5
1905    8000    figs      17
250     5000    grapes    10
230     4000    lemons    4
220     900     oranges   10
200     700     pears     8

informação relacionada