Linux fornisce diverse utilità che è possibile utilizzare per elaborare file di testo. Sia che tu voglia rimuovere i dati duplicati o ordinare il contenuto all'interno di un file, gli strumenti da riga di comando di Linux hanno tutto ciò di cui hai bisogno.

Questo articolo dimostrerà il comando sort e come puoi usarlo per ordinare il contenuto all'interno di un file di testo e organizzarlo di conseguenza.

Che cos'è il comando di ordinamento?

Come accennato in precedenza, il comando sort aiuta un utente a organizzare il contenuto di un file di testo in un ordine particolare. Sono disponibili diverse opzioni che ti consentono di ordinare il file secondo i tuoi desideri. È un programma Linux standard che può ordinare un file di testo in ordine alfabetico, numerico, per colonna e altro, in ordine normale o inverso.

Altre funzionalità del comando includono l'ignoranza dei caratteri durante l'ordinamento, l'ordinamento di un file per mese, l'ignoranza degli spazi vuoti in un file e l'ordinamento casuale. Usando l'ordinamento, puoi anche controllare se un file è già ordinato o meno.

instagram viewer

Come usare l'ordinamento in Linux

Sebbene sort contenga diversi metodi e flag che puoi usare, rimane facile da imparare.

Sintassi di base

La sintassi di base dell'uso di sort è:

ordina nome file

...dove nome del file è il percorso assoluto o relativo del file di testo che si desidera ordinare.

Per impostazione predefinita, sort organizzerà il contenuto secondo i seguenti criteri:

  1. Le righe che iniziano con caratteri numerici hanno la priorità più alta.
  2. Il comando ordinerà le righe in ordine alfabetico, dopo aver ordinato le righe che iniziano con i numeri.
  3. Le righe che iniziano con caratteri minuscoli precedono le righe che iniziano con lo stesso carattere in maiuscolo.

Considera un file di testo chiamato file di testo.txt contenente le seguenti informazioni:

Per ordinare il file utilizzando la configurazione predefinita:

ordina file di testo.txt

Produzione:

Crea un nuovo file di output

Il comando sort non modifica il contenuto del file. Invia semplicemente il contenuto ordinato allo standard output. Tuttavia, ciò non significa che l'ordinamento non possa creare un nuovo file. Puoi usare il -o flag per specificare il nome del file ordinato e sort creerà automaticamente il file per te e aggiungerà il contenuto.

sort -o file sorted nomefile

...dove file ordinato è il nome del file di output e nome del file è il file originale che deve essere ordinato.

Ordinare file di testo.txt e creare un nuovo file di output per il contenuto:

sort -o sorted.txt file di testo.txt

Produzione:

Ordina più file

Per ordinare più di un file contemporaneamente, passa semplicemente i nomi dei file separati dal simbolo Spazio personaggio.

ordina file di testo.txt file di testo2.txt

Produzione:

Nota che sort unirà l'output dei file e li visualizzerà insieme nel terminale.

Inverti ordinamento di un file

Se vuoi invertire la disposizione del contenuto, usa il -r flag con il comando predefinito. Il -r nel seguente comando sta per Inversione.

sort -r file di testo.txt

Produzione:

Ordina un file numericamente

Per ordinare un file contenente dati numerici, utilizzare il tasto -n bandiera con il comando. Per impostazione predefinita, l'ordinamento disporrà i dati in ordine crescente.

sort -n numeri.txt

Produzione:

Se vuoi ordinare in ordine decrescente, inverti la disposizione usando il -r opzione insieme al -n bandiera nel comando.

sort -rn numeri.txt

Produzione:

Ignora maiuscole/minuscole durante l'ordinamento

Per impostazione predefinita, l'ordinamento tiene conto delle maiuscole e minuscole del contenuto. Le righe che iniziano con caratteri minuscoli precedono le righe che iniziano con la versione maiuscola dello stesso carattere. Ad esempio, "è un ragazzo" precederà "È un ragazzo".

Se vuoi che sort ignori il carattere maiuscolo, specifica il -f o il --ignora-caso bandiera come segue:

sort -f file di testo.txt
sort --ignore-case file di testo.txt

Produzione:

Ordina un file in base al mese

Usando il -M flag, è possibile modificare l'ordine del contenuto di un file in base ai nomi dei mesi.

sort -M textfile2.txt

Produzione:

Ignora gli spazi vuoti iniziali

A volte, il file che si desidera ordinare potrebbe contenere spazi o tabulazioni. Per ignorare questi caratteri vuoti, usa il -b bandiera.

sort -b fileblanks.txt

Produzione:

Ordina un file in base a una colonna

Se hai un file di testo con dati disposti in colonne separate, puoi ordinare il file in base al contenuto di una colonna. Tutto quello che devi fare è passare il numero di colonna insieme al -K bandiera.

Considera un file di testo contenente informazioni sul file con colonne diverse. Per ordinare un file denominato output.txt secondo l'ottava colonna:

sort -k8 -rn output.txt

Produzione:

Ordina pipe con altri comandi

Puoi anche usare sort con altri comandi Linux per modificare la disposizione dell'output. Ad esempio, per ordinare l'output di il comando ls in base alla dimensione dei file:

ls -la | sort -k5 -rn

Produzione:

Ordina un file in modo casuale

Puoi usare il -R flag se vuoi randomizzare l'ordine delle righe in un file di testo. Considera il file file di testo.txt:

sort -R file di testo.txt

Produzione:

Ordina i numeri di versione in un file

Se hai un file di testo contenente le informazioni sulla versione associate a un pacchetto, puoi ordinarne il contenuto utilizzando il pulsante -V o --version-sort bandiera.

sort -V versione.txt
sort --version-sort version.txt

Produzione:

Controlla se un file è ordinato

Il -c flag ti aiuterà a identificare i file che sono già ordinati secondo le opzioni specificate. Se il contenuto del file è ordinato correttamente, sort non visualizzerà alcun output.

Per verificare se il file file di testo.txt è ordinato:

sort -c file di testo.txt

Ora ordiniamo il file e salviamo il suo output in un nuovo file chiamato sorted.txt. All'emissione del seguente comando:

sort -c sorted.txt

Produzione:

È inoltre possibile specificare vari flag per verificare la disposizione del file secondo criteri particolari. Ad esempio, per verificare se il file numeri.txt è ordinato in ordine decrescente:

sort -c -rn numeri.txt

Vedrai un output che indica che il file non è ordinato correttamente. Ordiniamo il file e controlliamo se il nuovo file supera il test.

sort -o sorted.txt -rn numeri.txt
sort -c -rn sorted.txt

Produzione:

Ordina il file e rimuovi i duplicati

Il file con cui stai lavorando potrebbe contenere dati duplicati. Anche se puoi usare il comando uniq per rimuovere tali informazioni dal file, sort può eseguire questa operazione per te. Il -u o --unico la bandiera è ciò di cui hai bisogno.

Considera un file chiamato duplicato.txt:

Per ordinare il file e rimuovere i dati ripetuti:

sort -u duplicato.txt

Produzione:

Puoi vederlo quando usi il -u flag, sort visualizza solo righe distinte e le dispone secondo i criteri specificati.

Lavorare con i file di testo in Linux

Sebbene la potenza degli editor di testo della riga di comando sia ineguagliabile, puoi comunque optare per un editor grafico come gedit per modificare facilmente il contenuto di un file di testo. Inoltre, è una scelta migliore per coloro che non conoscono Linux e non possono gestire il terminale.

Il modo migliore per iniziare con la riga di comando, e Linux in generale, è esercitarsi prima sui comandi di base. Dopo aver coperto le utilità fondamentali, avanzare gradualmente verso comandi più complessi è probabilmente l'approccio migliore.

E-mail
Il cheat sheet di riferimento per i comandi di Linux

Questo semplice cheat sheet ti aiuterà a familiarizzare con il terminale della riga di comando di Linux in pochissimo tempo.

Leggi Avanti

Argomenti correlati
  • Linux
  • Gestione dei file
  • Linux
  • Comandi Linux
Circa l'autore
Deepesh Sharma (69 articoli pubblicati)

Deepesh è l'editor junior per Linux di MUO. Scrive contenuti informativi su Internet da oltre 3 anni. Nel tempo libero ama scrivere, ascoltare musica e suonare la chitarra.

Altro da Deepesh Sharma

Iscriviti alla nostra Newsletter

Iscriviti alla nostra newsletter per suggerimenti tecnici, recensioni, ebook gratuiti e offerte esclusive!

Ancora un passo…!

Conferma il tuo indirizzo e-mail nell'e-mail che ti abbiamo appena inviato.

.