Condividi tramite


sort

Legge l'input, ordina i dati e scrive i risultati sullo schermo, in un file o in un altro dispositivo.

Syntax

sort [/r] [/+<N>] [/m <kilobytes>] [/l <locale>] [/rec <characters>] [[<drive1>:][<path1>]<filename1>] [/t [<drive2>:][<path2>]] [/o [<drive3>:][<path3>]<filename3>]

Parameters

Parameter Description
/r Inverte l'ordinamento , ovvero ordina da Z a 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 numero intero valido.
/m <kilobytes> Specifica la quantità di memoria principale da usare per l'ordinamento in kilobyte (KB).
/l <impostazioni locali> 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 conservare la memoria di lavoro 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.

Remarks

  • 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 dal terzo carattere di ogni riga. Le righe con meno di N caratteri vengono fascicolate prima delle 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 è 90% della memoria principale disponibile, se l'input e l'output sono file o 45% di 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 utilizzare il simbolo della barra verticale (|) per indirizzare i dati di input al comando di ordinamento 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 nomefile1 nella sintassi del comando) e quindi specificare il file di output utilizzando il parametro /o .

  • Il comando sort non distingue tra lettere maiuscole e minuscole e non ha limiti sulle dimensioni del file.

  • Il programma di ordinamento utilizza la tabella delle sequenze di confronto che corrisponde alle impostazioni del codice paese e della tabella codici. I caratteri maggiori del codice ASCII 127 vengono ordinati in base alle informazioni contenute nel file Country.sys o in un file alternativo specificato dal comando country nel file Config.nt.

  • Se l'ordinamento rientra nella dimensione massima della memoria (come impostato per impostazione predefinita o come specificato dal parametro /m ), l'ordinamento viene eseguito in un unico 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 utilizzata per specificare una quantità di memoria superiore a quella realmente disponibile, è possibile che si verifichi una riduzione delle prestazioni o un errore di runtime.

Examples

  • Per ordinare e visualizzare, in ordine inverso, le righe di un file denominatoexpenses.txt, digitare:

    sort /r expenses.txt
    
  • Per cercare il testo Jones in un file di grandi dimensioni chiamato maillist.txt e per ordinare i risultati della ricerca utilizzando la barra verticale (|) per indirizzare l'output di un 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 in ordine alfabetico sullo schermo, è possibile utilizzare prima il comando di ordinamento 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 quindi premere INVIO. Il comando di ordinamento visualizza il testo digitato, in ordine alfabetico.