Tutorial su UNIX Ordina Command

June 25

Il comando sort UNIX viene utilizzato per ordinare i file di testo ASCII. Può essere utilizzato per ordinare file di qualsiasi dimensione. Il comando può anche essere utilizzato per ordinare più di un file e posizionare l'output in un singolo file. I dati possono essere ordinati in ordine alfabetico o numerico in qualsiasi campo nel file.

uso

Il tipo di comando ha la sintassi "sort [opzioni] nomefile (s)." Senza alcuna opzione, il comando sort utilizza l'intera linea come chiave di ordinamento predefinita, ordina il file in ordine alfabetico e in ordine crescente, e stampa l'output sullo schermo. Le linee all'interno del file non devono essere delle stesse dimensioni. I campi all'interno del file sono separati da uno spazio di default.

E 'possibile utilizzare il comando opzioni per cambiare il comportamento di default del tipo di comando. Per inviare l'output a un file invece della schermata, è possibile utilizzare l'opzione "-o". La sintassi sarebbe "ordinare -O ingresso uscita."

Se si dispone di un file contenente i dati numerici, è necessario utilizzare l'opzione "-n" per raccontare il comando per ordinare numericamente. La sintassi sarebbe "il nome del file sort -n." Naturalmente, è possibile aggiungere l'opzione "-o" per produrre i risultati in un file di output. La sintassi sarebbe allora "sort -n ingresso uscita -o".

Se si preferisce ordinare i file in ordine (ZA) invece di ordine ascendente (az) decrescente, si può usare l'opzione "-r". La "R" sta per retromarcia in questo caso. La sintassi sarebbe "il nome del file sorta -r."

Sort presuppone che i campi sono separati da spazi, che significa che ogni parola su una riga viene considerato come un campo. Tuttavia, si può avere una virgola ha separato i valori (CSV) file o la campi devono essere separate da un altro personaggio, come i due punti. Se questo è il caso, utilizzare l'opzione "-t" per designare il separatore di campo. La sintassi per un file CSV sarebbe "sorta -t, il nome del file."

Ordina presuppone che si desidera utilizzare l'intera linea come la chiave di ordinamento. Se si desidera solo per ordinare su un campo specifico, si dovrebbe aggiungere l'opzione "+ m" dove "m" è il numero del campo meno uno. Ad esempio, se si ha un file CSV contenente il nome del campo, il cognome e l'indirizzo, e di voler ordinare il cognome, la sintassi sarebbe "sorta -t, +1 nome del file." Il "+1" dice per ordinare il secondo campo. La ragione per la strana numerazione è dovuta al fatto che i comandi Unix di solito iniziare il conteggio a "0", non "1." Il comando sarà quindi ordinare il cognome e utilizzare il campo indirizzo di un'opzione di ordinamento secondario.

Se si voleva solo per ordinare il secondo campo del precedente esempio, si dovrà dire al comando sort per fermare l'ordinamento sul terzo campo. Per questo si usa l'opzione "-m", dove "m" è il numero del campo meno uno. Per unico tipo sull'ultimo nome del campo nel nostro esempio, si può usare la sintassi "sort-t, +1 -2 nome del file."

Altre opzioni comunemente usate sono le e opzioni "-u" "-D". L'opzione "-u" dice al comando per stampare solo i valori univoci dopo la cernita. Se ci sono multipli di una singola linea, verrà stampato una sola istanza del valore. L'opzione "-d", dice per eseguire una sorta dizionario del file, il che significa che solo gli spazi, cifre e caratteri alfabetici sono utilizzati nel confronto.

In ordine può anche essere utilizzato per unire e ordinare due file in un singolo file di output. Se più di un nome di file viene fornito come un file di input, il comando combinare i due file e ordinare i risultati. Quando viene utilizzato con l'opzione "-o", il risultato sarà un unico file contenente i valori ordinati da entrambi i file. La sintassi sarebbe "ordinare -o uscita INGRESSO 1 INGRESSO 2". Altre opzioni per il comando sort si possono trovare nella pagina principale di ordinamento (vedi "Risorse aggiuntive", di seguito).