Capítulo 22. Comparación de datos
Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com
22.0 Introducción
Cuando trabajas en PowerShell, es habitual trabajar con colecciones de objetos. La mayoría de los comandos de PowerShell generan objetos, al igual que muchos de los métodos con los que trabajas en .NET Framework. Para ayudarte a trabajar con estas colecciones de objetos, PowerShell introduce el cmdlet Compare-Object
. El cmdlet Compare-Object
proporciona una funcionalidad similar a la de los conocidos comandos diff
, pero con un sabor orientado a objetos.
22.1 Comparar la salida de dos comandos
Problema
En quieres comparar la salida de dos comandos.
Solución
Para comparar en la salida de dos comandos, almacena la salida de cada comando en variables y luego utiliza el cmdlet Compare-Object
para comparar esas variables:
PS > notepad PS > $processes = Get-Process PS > Stop-Process -ProcessName Notepad PS > $newProcesses = Get-Process PS > Compare-Object $processes $newProcesses InputObject SideIndicator ----------- ------------- System.Diagnostics.Process (notepad) <=
Debate
La Solución muestra cómo determinar qué procesos han salido entre las dos llamadas a Get-Process
. El SideIndicator
de <=
nos dice que el proceso estaba presente en la colección izquierda ($processes
) pero no en la derecha ($newProcesses
). Para trabajar con el objeto real que era diferente, accede a la propiedad InputObject
:
PS > $diff = ...
Get Libro de cocina PowerShell, 4ª edición now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.