Búsqueda de sitios web

PowerShell: cómo dividir una matriz en fragmentos más pequeños


Puede utilizar la siguiente sintaxis en PowerShell para dividir una matriz grande en fragmentos más pequeños de igual tamaño:

$my_array = 1..20
$chunk_size = 4

$counter = [pscustomobject] @{ Value = 0 }
$chunks = $my_array | Group-Object -Property { [math]::Floor($counter.Value++ / $chunk_size) }

Este ejemplo particular dividirá la matriz denominada $my_array (que tiene 20 valores) en matrices más pequeñas de tamaño 4.

Para dividir una matriz en fragmentos de diferentes tamaños, simplemente cambie el valor de la variable $chunk_size.

El siguiente ejemplo muestra cómo utilizar esta sintaxis en la práctica.

Ejemplo: Cómo dividir una matriz en partes más pequeñas en PowerShell

Supongamos que creamos una matriz en PowerShell llamada $my_array que contiene los valores del 1 al 20.

Podemos usar la siguiente sintaxis para dividir esta matriz en fragmentos de tamaño 4 cada uno:

$my_array = 1..20
$chunk_size = 4

$counter = [pscustomobject] @{ Value = 0 }
$chunks = $my_array | Group-Object -Property { [math]::Floor($counter.Value++ / $chunk_size) }

La siguiente captura de pantalla muestra cómo utilizar esta sintaxis en la práctica:

Observe que cuando vemos los resultados de la variable $chunks podemos ver que la matriz original se ha dividido en cinco matrices, cada una de las cuales tiene un tamaño de 4.

Para ver los valores de una matriz individual en la salida, podemos usar la notación entre corchetes.

Por ejemplo, podemos usar la siguiente sintaxis para ver los valores en la primera matriz pequeña en la salida:

$chunks[0].Group

La siguiente captura de pantalla muestra cómo utilizar esta sintaxis en la práctica:

Podemos ver que esta matriz contiene los valores 1, 2, 3 y 4.

Puede utilizar una sintaxis similar para recuperar los valores de cualquiera de las matrices más pequeñas producidas por este código.

Artículos relacionados