Ordinare i dati non dovrebbe essere un compito opprimente. Se stai cercando un modo efficiente per ordinare i dati, il cmdlet PowerShell Sort-Object
è qui per aiutarti!
In questo tutorial, imparerai come utilizzare il cmdlet PowerShell Sort-Object
per ordinare i dati, che siano numeri, stringhe o oggetti.
Dimentica l’occhio costante sui tuoi dati e ordinali in modo efficiente in PowerShell!
Prerequisiti
Assicurati di avere una macchina con PowerShell 5.0 o versione successiva installata per seguire questo tutorial con le dimostrazioni pratiche. Questo tutorial utilizza Windows 10 con PowerShell 7 installato.
Ordinare i dati con il cmdlet PowerShell Sort-Object
A seconda delle tue esigenze, puoi ordinare i dati in base a una o più proprietà in molti modi. Il cmdlet Sort-Object
ti consente di ordinare i dati, ad esempio, in ordine ascendente o discendente per facilitare l’analisi e il lavoro con informazioni strutturate.
La sintassi di base del cmdlet Sort-Object
è la seguente:
<Oggetto-da-ordinare>
– Si riferisce alla raccolta di dati da ordinare, come un array, una lista o altri tipi di dati.<-Parametro>
– Un parametro opzionale per specificare i criteri di ordinamento che ti consente di personalizzare come viene eseguito l’ordinamento.
Per vedere come puoi ordinare i dati in ordine ascendente e discendente:
1. Apri PowerShell ed esegui il comando sottostante, che non fornisce output ma definisce una lista di numeri interi casuali nella variabile $numbers
.
? Nota che in PowerShell, non stai solo lavorando con numeri e stringhe ma con oggetti, poiché PowerShell è un linguaggio e shell orientato agli oggetti.
2. Successivamente, esegui i seguenti comandi per ordinare (Sort-Objects
) e visualizzare (Write-Output
) i numeri definiti nella variabile $numbers
.
Senza aggiungere parametri, l’output mostra i numeri in ordine ascendente.

3. Ora, esegui gli stessi comandi, ma questa volta aggiungi il parametro -Descending
per ordinare e visualizzare i numeri in ordine decrescente.
Un output simile a quello sotto indica che i numeri sono stati ordinati in ordine decrescente.

Ordinamento dei Dati per Valori Unici
Ordinare i dati in ordine ascendente e discendente è una cosa. Ma ci possono essere casi in cui è necessario ordinare i dati in base ai valori unici. In questo contesto, “unico” si riferisce a valori distinti o non ripetuti all’interno di un set di dati.
Per ordinare i dati per valori unici:
Esegui i seguenti comandi per eseguire le seguenti operazioni:
- Definisci una lista di numeri interi (con duplicati inclusi) nella variabile
$numbers
. - Ordina i numeri per valori
-Unique
in ordine-Descending
e memorizza il risultato nella variabile$sortedNumbers
.
Quando si ordina per valori unici, si organizzano i dati in modo che ogni valore appaia solo una volta nel risultato ordinato, eliminando i duplicati.
Questi comandi non forniscono output, ma verificherai i dati ordinati nel passaggio seguente.
Ora, esegui il comando Write-Output
qui sotto per visualizzare i contenuti della variabile $sortedNumbers
e verificare il risultato.
Di seguito, tutti i valori unici sono ordinati in ordine discendente e i valori duplicati sono stati eliminati.
Come puoi vedere, l’ordinamento per valori unici migliora l’efficienza dell’analisi dei dati ed elimina le informazioni ridondanti quando si lavora con grandi set di dati.

Ordinamento dei dati per stringhe
Finora, hai visto come ordinare valori numerici. Ma cosa succede se stai lavorando con stringhe? Non preoccuparti. Il comando Sort-Object
ti permette di ordinare dati di stringa in un ordine specifico basato su criteri di ordinamento.
In questo contesto, una stringa si riferisce a un singolo carattere o a una sequenza di caratteri, come parole, frasi o altri dati testuali. In PowerShell, le stringhe sono rappresentate racchiudendo il testo tra virgolette, sia singole ('
) che doppie ("
).
Esegui i seguenti comandi per ordinare un array di stringhe in ordine ascendente (alfabetico) per impostazione predefinita.
Ordinare le stringhe in PowerShell offre flessibilità nell’organizzare i dati testuali in un ordine desiderato, consentendo una manipolazione ed un’analisi efficienti dei dati.

Ora, esegui gli stessi comandi, ma ordina in modo da -Descending
invece.
Questa volta vedrai l’output nell’ordine inverso, come mostrato di seguito.

Ordinare i Dati per Proprietà
Senza dubbio ordinare le stringhe è utile. Ma tipicamente, dovresti essere più specifico quando ordini i dati. Oltre a ordinare le stringhe, perché non ordinare gli oggetti in base alle loro proprietà?
Quando si lavora con gli oggetti PowerShell, ogni oggetto di solito possiede una o più proprietà che è possibile utilizzare per l’ordinamento. Queste proprietà ti consentono di definire i criteri di ordinamento su misura per le tue esigenze.
Esegui i seguenti comandi per recuperare un elenco di tutti i processi in esecuzione (Get-Process
) nel tuo sistema e ordinarli in base all’utilizzo della CPU
. Il parametro -Descending
visualizza il risultato con i processi più intensivi in termini di risorse elencati per primi.

Ordinamento dei Tabelle Hash
L’ordinamento degli oggetti per proprietà è una svolta nel lavoro con l’analisi dei dati. Ma cosa succede con l’organizzazione dei dati in coppie chiave-valore come le tabelle hash?
Il cmdlet Sort-Object
ti permette di ordinare le tabelle hash per migliorare la presentazione dei dati e semplifica il recupero delle informazioni.
Esegui il seguente codice per convertire una tabella hash in un array di coppie chiave-valore e ordinare la tabella hash in base alle sue chiavi.
Poiché le chiavi ordinano la tabella hash, l’output assomiglierà al seguente, dove puoi osservare che l’output organizza e visualizza le coppie chiave-valore in un ordine specifico.
Questo metodo di ordinamento assicura una migliore presentazione dei dati e facilita il recupero delle informazioni dalla tabella hash.

Conclusione
Attraverso questo tutorial, hai esplorato come ordinare valori unici, stringhe, numeri, processi e persino tabelle hash con il cmdlet Sort-Object
di PowerShell. L’ordinamento dei dati è un compito che ti permette di aprire la strada a un’analisi dei dati più approfondita, e con il cmdlet Sort-Object
di PowerShell, sei sulla strada giusta.
Armato di questa nuova conoscenza, ora puoi assicurarti che i tuoi dati siano organizzati in modo significativo e presentarli con fiducia agli altri.
L’ordinamento è solo una delle molte capacità preziose di PowerShell e dei suoi cmdlet. Perché non ampliare le tue competenze imparando su altri cmdlet? Forse creare log di programma con Tee-Object
o misurare le dimensioni degli oggetti con Measure-Object
?
Source:
https://adamtheautomator.com/powershell-sort-object/