ordinamento
Legge l'input, ordina i dati e scrive i risultati sullo schermo, in un file o in un altro dispositivo.
Sintassi
sort [/r] [/+<N>] [/m <kilobytes>] [/l <locale>] [/rec <characters>] [[<drive1>:][<path1>]<filename1>] [/t [<drive2>:][<path2>]] [/o [<drive3>:][<path3>]<filename3>]
Parametri
Parametro | Descrizione |
---|---|
/r | Inverte l'ordinamento , ovvero ordina dalla Z alla A e da 9 a 0. |
/+<N> |
Specifica il numero di posizione del carattere in cui l'ordinamento inizierà ogni confronto. N può essere qualsiasi intero valido. |
/m <kilobytes> |
Specifica la quantità di memoria principale da usare per l'ordinamento in kilobyte (KB). |
/l <locale> | Esegue l'override dell'ordinamento dei caratteri definiti dalle impostazioni locali predefinite del sistema, ovvero la lingua e il paese/area geografica selezionati durante l'installazione. |
/rec <characters> |
Specifica il numero massimo di caratteri in un record o una riga del file di input (il valore predefinito è 4.096 e il valore massimo è 65.535). |
[<drive1>:][<path1>]<filename1> |
Specifica il file da ordinare. Se non viene specificato alcun nome file, l'input standard viene ordinato. Specificare il file di input è più veloce rispetto al reindirizzamento dello stesso file dell'input standard. |
/t [<drive2>:][<path2>] |
Specifica il percorso della directory in cui contenere lo spazio di archiviazione del comando sort se i dati non rientrano nella memoria principale. Per impostazione predefinita, viene usata la directory temporanea di sistema. |
/o [<drive3>:][<path3>]<filename3> |
Specifica il file in cui archiviare l'input ordinato. Se non specificato, i dati vengono scritti nell'output standard. Specificare il file di output è più veloce rispetto al reindirizzamento dell'output standard allo stesso file. |
/unique | Restituisce solo risultati univoci. |
/? | Visualizza la guida al prompt dei comandi. |
Osservazioni:
Per impostazione predefinita, i confronti iniziano al primo carattere di ogni riga. L'opzione /+ della riga di comando avvia i confronti in corrispondenza del carattere specificato da N. Ad esempio,
/+3
indica che ogni confronto deve iniziare al terzo carattere di ogni riga. Le righe con meno di N caratteri vengono raccolte prima di altre righe.La memoria usata è sempre di almeno 160 KB. Se si specificano le dimensioni della memoria, viene usata la quantità specificata esatta per l'ordinamento (deve essere almeno 160 KB), indipendentemente dalla quantità di memoria principale disponibile.
La dimensione massima predefinita della memoria quando non viene specificata alcuna dimensione è il 90% della memoria principale disponibile, se l'input e l'output sono file o il 45% della memoria principale in caso contrario. L'impostazione predefinita offre in genere prestazioni ottimali.
Attualmente, l'unica alternativa alle impostazioni locali predefinite è le impostazioni locali C, che è più veloce dell'ordinamento in linguaggio naturale (ordina i caratteri in base alle relative codifiche binarie).
È possibile usare il simbolo pipe (
|
) per indirizzare i dati di input al comando sort da un altro comando o per indirizzare l'output ordinato a un altro comando. È possibile specificare file di input e output usando i simboli di reindirizzamento (<
o>
). Può essere più veloce ed efficiente (soprattutto con file di grandi dimensioni) specificare direttamente il file di input (come definito da filename1 nella sintassi del comando) e quindi specificare il file di output usando il parametro /o.Il comando sort non distingue tra lettere maiuscole e minuscole e non ha limiti alle dimensioni del file.
Il programma di ordinamento usa la tabella della sequenza di confronto che corrisponde alle impostazioni del codice Paese/area geografica e della tabella codici. I caratteri maggiori del codice ASCII 127 vengono ordinati in base alle informazioni nel file Country.sys o in un file alternativo specificato dal comando Paese nel file Config.nt.
Se l'ordinamento rientra nella dimensione massima della memoria (impostata per impostazione predefinita o come specificato dal parametro /m), l'ordinamento viene eseguito in un singolo passaggio. In caso contrario, l'ordinamento viene eseguito in due passaggi di ordinamento e unione separati e la quantità di memoria usata per entrambi i passaggi è uguale. Quando vengono eseguiti due passaggi, i dati parzialmente ordinati vengono archiviati in un file temporaneo su disco. Se non è disponibile memoria sufficiente per eseguire l'ordinamento in due passaggi, viene generato un errore di run-time. Se l'opzione della riga di comando /m viene usata per specificare più memoria di quanto sia realmente disponibile, può verificarsi una riduzione delle prestazioni o un errore di run-time.
Esempi
Per ordinare e visualizzare, in ordine inverso, le righe di un file denominato expenses.txt, digitare:
sort /r expenses.txt
Per cercare un file di grandi dimensioni denominato maillist.txt per il testo Jones e ordinare i risultati della ricerca usando la pipe (
|
) per indirizzare l'output del comando find al comando sort, digitare:find Jones maillist.txt | sort
Il comando genera un elenco ordinato di righe che contengono il testo specificato.
Per ordinare l'input da tastiera e visualizzare i risultati alfabeticamente sullo schermo, è prima possibile usare il comando sort senza parametri, digitando:
sort
Digitare quindi il testo che si desidera ordinare e premere INVIO alla fine di ogni riga. Al termine della digitazione del testo, premere CTRL+Z e premere INVIO. Il comando sort visualizza il testo digitato, ordinato alfabeticamente.