Sono in programma nuovi progetti. Un corso di SED, che dovrebbe iniziare tra un paio di settimane. Sono previsti 35 tutoriali. E il "Man illustrato", che inizia oggi. Nel "man illustrato" saranno passati in rassegna i comandi più importanti. Speriamo bene :)
Oggi mettiamo alla prova il comando sort, che ordina le righe in un file secondo il criterio specificato. Questo è ciò che si dice. Ma sort fa di più! E ora lo vediamo insieme.
Sort, senza parametri, ordina alfabeticamente.
$ sort file.txt
Con il parametro -r, sort, inverte il senso di ordinamento (alfabetico o numerico)
$ sort -r file.txt
Con il parametro -n ordina numericamente (e in modo progressivo) invece che alfabeticamente.
$ sort -n file.txt
Con i parametri -n e -r, sort, inverte l'ordinamento dei valori numerici.
$ sort -nr file.txt
Con il parametro -f, sort, non distingue tra caratteri maiuscoli e minuscoli. (case insensitive)
$ sort -f file.txt
Con il parametro -M ordina i mesi.
$ sort -M file.txt
Con il parametro -h, sort, ordina in base alle grandezze (kilobyte, megabyte, gigabyte, etc)
$ sort -h file.txt
Ora prendiamo in cosiderazione due parametri: -t e -k.
-t specifica il carattere da usare come separatore di campo (invece del valore predefinito), in caso di definizione di chiavi di ordinamento, -k.
-k è, appunto, la chiave di ordinamento. Vabbè, facciamo qualche esempio.
Partiamo da un file di testo, test_5, il cui contenuto è il seguente:
In questo esempio il separatore di campo è "|", quindi si avrà -t"|". Ora, nei tre esempi che seguono, userò i parametri -k2, -k3, -k1. Ciò sta a significare che, nel caso di -k2, la tabella sarà ordinata in base al secondo campo. Nel caso di k3, in base al terzo campo, nel caso di k1, in base al primo campo.
$ sort -n -t"|" -k2 test_5 #(primo esempio)
$ sort -t"|" -k3 test_5 #(secondo esempio)
$ sort -t"|" -k1 test_5 #(terzo esempio
Da notare che il parametro -n è stato usato solo nel primo esempio. Ora dovreste sapere il perchè.
Ora prendiamo due file, test_6 e test_7, in ognuno di essi mettiamo una colonna di numeri, e li diamo poi in pasto a sort perchè li ordini e ne restituisca il risultato a schermo.
$ sort -n file_1 file_2
Ovviamente è possibile creare anche un terzo file che contenga la tabella ordinata, in tal caso
$ sort -n file_1 file_2 -o file_3
Il parametro - o sta, ovviamente, per output.
Chiudiamo con il parametro -u. Il parametro -u elimina le linee duplicate.
$ sort -u file.txt
Non vi perdete la prossima puntata di "Man Illustrato". Ciao ;)
Nessun commento:
Posta un commento