Ordenar datos no debería ser una tarea abrumadora. Si estás buscando una manera eficiente de ordenar datos, el cmdlet Sort-Object
de PowerShell está aquí para ayudarte!
En este tutorial, aprenderás cómo utilizar el cmdlet Sort-Object
de PowerShell para ordenar datos, ya sean números, cadenas u objetos.
¡Deja de mirar constantemente tus datos y ordénalos eficientemente en PowerShell!
Requisitos previos
Asegúrate de tener una máquina con PowerShell 5.0 o posterior instalado para seguir este tutorial junto con las demostraciones prácticas. Este tutorial utiliza Windows 10 con PowerShell 7 instalado.
Ordenar Datos con el cmdlet Sort-Object
de PowerShell
Dependiendo de tus requisitos, puedes ordenar datos basados en una o más propiedades de muchas maneras. El cmdlet Sort-Object
te permite ordenar datos, por ejemplo, en orden ascendente o descendente para facilitar el análisis y trabajar con información estructurada.
La sintaxis básica del cmdlet Sort-Object
es la siguiente donde:
<Objeto-a-Ordenar>
– Se refiere a la recolección de datos para ordenar, como un array, una lista u otros tipos de datos.<-Parámetro>
– Un parámetro opcional para especificar los criterios de ordenación que te permite personalizar cómo se realiza la ordenación.
Para ver cómo puedes ordenar datos en orden ascendente y descendente:
1. Abre PowerShell y ejecuta el siguiente comando, el cual no proporciona una salida pero define una lista de números enteros aleatorios en la variable $numbers
.
? Ten en cuenta que en PowerShell no solo estás trabajando con números y cadenas, sino con objetos, ya que PowerShell es un lenguaje y shell orientado a objetos.
2. A continuación, ejecuta los siguientes comandos para ordenar (Sort-Objects
) y mostrar (Write-Output
) los números definidos en la variable $numbers
.
Sin agregar parámetros, la salida mostrará los números en orden ascendente.

3. Ahora, ejecuta los mismos comandos, pero esta vez, agrega el parámetro -Descending
para ordenar y mostrar los números en orden descendente.
La salida, similar a la siguiente, indica que los números han sido ordenados en orden descendente.

Ordenar Datos por Valores Únicos
Ordenar datos en orden ascendente y descendente es una cosa. Pero puede haber instancias en las que necesites ordenar datos basados en valores únicos. En este contexto, “único” se refiere a valores distintos o no repetidos dentro de un conjunto de datos.
Para ordenar datos por valores únicos:
Ejecuta los siguientes comandos para realizar lo siguiente:
- Define una lista de números enteros (con duplicados incluidos) en la variable
$numbers
. - Ordena los números por valores
-Únicos
en orden-Descendente
y guarda el resultado en la variable$sortedNumbers
.
Cuando ordenas por valores únicos, organizas los datos de manera que cada valor aparezca solo una vez en el resultado ordenado, eliminando duplicados.
Estos comandos no proporcionan una salida, pero verificarás los datos ordenados en el siguiente paso.
Ahora, ejecuta el comando Write-Output
a continuación para mostrar el contenido de la variable $sortedNumbers
y verificar el resultado.
A continuación, todos los valores únicos están ordenados en orden descendente, y se han eliminado los valores duplicados.
Como puedes ver, ordenar por valores únicos mejora la eficiencia del análisis de datos y elimina la información redundante al tratar con conjuntos de datos grandes.

Ordenar Datos por Cadenas
Hasta ahora, has visto cómo ordenar valores numéricos. Pero ¿qué pasa si estás trabajando con cadenas? No te preocupes. El cmdlet Sort-Object
te permite organizar datos de cadena en un orden específico basado en criterios de ordenación.
En este contexto, una cadena se refiere a un solo carácter o a una secuencia de caracteres, como palabras, frases u otros datos textuales. En PowerShell, las cadenas se representan al encerrar el texto entre comillas, ya sea simples ('
) o dobles ("
).
Ejecute los siguientes comandos para ordenar un conjunto de cadenas en orden ascendente (alfabético) de forma predeterminada.
Ordenar cadenas en PowerShell proporciona flexibilidad para organizar datos textuales en el orden deseado, permitiendo una manipulación y análisis eficientes de los datos.

Ahora, ejecute los mismos comandos, pero ordénelos en orden -Descending
en su lugar.
Esta vez verá la salida en orden inverso, como se muestra a continuación.

Ordenar Datos por Propiedades
Sin duda, ordenar cadenas es útil. Pero, por lo general, debería ser más específico al ordenar datos. Además de ordenar cadenas, ¿por qué no ordenar objetos según sus propiedades?
Cuando trabajas con objetos en PowerShell, cada objeto generalmente tiene una o más propiedades que puedes usar para ordenar. Estas propiedades te permiten definir tus criterios de ordenación adaptados a tus necesidades.
Ejecuta los siguientes comandos para obtener una lista de todos los procesos en ejecución (Get-Process
) en tu sistema y ordenarlos por utilización de CPU
. El parámetro -Descending
muestra el resultado con los procesos más intensivos en recursos listados primero.

Ordenar Tablas de Hash
Ordenar objetos por propiedades es fundamental al trabajar con análisis de datos. Pero, ¿qué pasa con organizar datos en pares clave-valor como las tablas de hash?
El cmdlet Sort-Object
te permite ordenar tablas de hash para mejorar la presentación de datos y simplificar la recuperación de información.
Ejecuta el siguiente código para convertir una tabla hash en un arreglo de pares clave-valor y ordenar la tabla hash por sus claves.
Dado que las claves ordenan la tabla hash, la salida se parecerá a la siguiente, donde puedes observar que la salida organiza y muestra los pares clave-valor en un orden específico.
Este método de ordenamiento garantiza una mejor presentación de los datos y facilita la recuperación de información de la tabla hash.

Conclusión
A lo largo de este tutorial, has explorado cómo ordenar valores únicos, cadenas, números, procesos e incluso tablas hash con el cmdlet Sort-Object
. La clasificación de datos es una tarea que te permite allanar el camino hacia un análisis de datos más perspicaz, y con el cmdlet Sort-Object
de PowerShell, estás en el camino correcto.
Armado con este nuevo conocimiento, ahora puedes asegurarte de que tus datos estén organizados de manera significativa y mostrarlos con confianza a los demás.
La clasificación es solo una de las muchas capacidades valiosas de PowerShell y sus cmdlets. ¿Por qué no ampliar tus habilidades aprendiendo sobre otros cmdlets? Quizás crear registros de programa con \href{https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/tee-object?view=powershell-7.3}{Tee-Object} o medir tamaños de objetos con \href{https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/measure-object?view=powershell-7.3}{Measure-Object}?
Source:
https://adamtheautomator.com/powershell-sort-object/