GNU/Linux >> Linux Esercitazione >  >> Linux

Come ordinare un file, in base ai suoi valori numerici per un campo?

Dai un'occhiata alla pagina man di sort...

   -n, --numeric-sort
          compare according to string numerical value

Quindi ecco un esempio...

sort -n filename

Se stai ordinando stringhe che sono un misto di testo e numeri, ad esempio nomi di file di log in sequenza, allora ordina con sort -n non funziona come previsto:

$ ls |sort -n
output.log.1
output.log.10
output.log.11
output.log.12
output.log.13
output.log.14
output.log.15
output.log.16
output.log.17
output.log.18
output.log.19
output.log.2
output.log.20
output.log.3
output.log.4
output.log.5
output.log.6
output.log.7
output.log.8
output.log.9

In tal caso l'opzione -V fa il trucco:

$ ls |sort -V
output.log.1
output.log.2
output.log.3
output.log.4
output.log.5
output.log.6
output.log.7
output.log.8
output.log.9
output.log.10
output.log.11
output.log.12
output.log.13
output.log.14
output.log.15
output.log.16
output.log.17
output.log.18
output.log.19
output.log.20

dalla pagina man:

   -V, --version-sort
          natural sort of (version) numbers within text

Linux
  1. Come salvare l'output dei comandi in un file in Linux

  2. Come filtrare le voci dei file di registro in base all'intervallo di date

  3. Come reindirizzare l'output di un programma su un file zip?

  4. Come svuotare un file di registro in Linux

  5. Come aggiungere l'output a un file?

Come usare CherryTree per prendere appunti

Come reindirizzare l'output del programma come input

Come impostare autorizzazioni file specifiche durante il reindirizzamento dell'output?

Come posso stampare i valori ASCII (numerici) di ciascun carattere in un file?

Come ordinare questo output 1,10,11..2

iftop - come generare un file di testo con il suo output?