Come ordinare il contenuto di un file su Linux

Per ordinare il contenuto di un file sul sistema operativo Linux utilizzo il comando sort.

Il comando sort

sort [opzioni] [nome file]

Il comando visualizza di default il contenuto del file secondo l'ordine alfabetico.

Attenzione. Il sort non cambia l'ordine dei record nel file ma soltanto l'ordine di visualizzazione. Non modifica il contenuto del file.

L'ordinamento può essere personalizzato tramite le opzioni del comando:

  • -r. Visualizza i record in ordine inverso.
  • -u. Rimuove i record duplicati
  • -k N. Ordina i record in base al campo N. Dove k sta per key ("chiave") mentre N è la posizione della colonna del campo nel record.

    Esempi pratici

    Il contenuto del file prova.txt è il seguente:

    il comando sort di Linux

    Per visualizzarlo in ordine alfabetico digito sulla linea di comando sort prova.txt

    Il comando visualizza i record secondo l'ordine alfabetico ( "Antonio, Bruno, Claudio, ecc. ").

    l'ordinamento alfabetico

    Per visualizzare il contenuto in ordine inverso aggiungo l'opzione -r.

    Quindi digito sort -r prova.txt

    Ora l'output è in ordine alfabetico decrescente ( Paolo, Marco, Giancarlo, ecc. ).

    l'ordinamento decrescente

    A questo punto voglio visualizzare il contenuto del file ordinato per il secondo campo dei record ( il cognome dei giocatori ).

    Per farlo digito il comando sort -k2 prova.txt

    Il comando visualizza i cognomi in ordine alfabetico crescente ( Antognoni, Cabrini, Collovati, ecc. ).

    l'output del comando

    E così via con le altre opzioni.

    Nota. Le opzioni possono anche essere combinate tra loro. Ad esempio -ur è la combinazione di -u e -r.


     
    Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

    FacebookTwitterLinkedinLinkedin
    knowledge base

    Libri di approfondimento

    I file su Linux