GNU/Linux >> Linux Esercitazione >  >> Linux

come usare il comando Linux Sort per ordinare il file di testo in base alla 4a colonna, ordine numerico?

sort -nk4 file

-n for numerical sort
-k for providing key

oppure aggiungi -r option per l'ordinamento inverso

sort -nrk4 file

sort non ordina il file sul posto. Produce invece una copia ordinata.

Hai bisogno di sort -n -k 4 out.txt > sorted-out.txt .

Modifica: Per ottenere l'ordine desiderato devi ordinare il file con i numeri letti al contrario . Questo lo fa:

cut -d' ' -f4 out.txt | rev | paste - out.txt | sort -k1 -n | cut -f2- > sorted-out.txt


Dovrebbe essere

sort -k 4n out1.txt

Ho appena provato questo con GNU sort (--debug abilitato):

$ tac input | /bin/sort --debug -k 4n
/bin/sort: using simple byte comparison
/bin/sort: key 1 is numeric and spans multiple fields
AX-18 Chr1_419085 1 41908545 T C -1 98 0.51
                    ________
___________________________________________
AX-19 Chr1_419087 1 41908740 T C 0 15 0.067
                    ________
___________________________________________
AX-20 Chr1_419087 1 41908741 T C 0 13 0.067
                    ________
___________________________________________

Linux
  1. Come usare il comando Linux grep

  2. Come usare il comando cronologia in Linux

  3. Come utilizzare il comando Tar in Linux

  4. Casella degli strumenti Sysadmin:come utilizzare il comando di ordinamento per elaborare il testo in Linux

  5. File di ordinamento della shell Linux in base alla seconda colonna?

Come utilizzare il comando Ping di Linux

Come utilizzare Nano, l'editor di testo della riga di comando di Linux

Come usare il comando Tronca in Linux

Come utilizzare il comando fd sul sistema Linux

Come utilizzare il comando wget in Linux?

Come utilizzare il comando Gzip in Linux?