PowerShell: cómo extraer columnas específicas de un archivo de texto
A menudo es posible que desee utilizar PowerShell para extraer columnas específicas de un archivo de texto.
Puede utilizar la siguiente sintaxis para hacerlo:
Get-Content players.txt | Foreach {"$(($_ -split '\s+')[0,3])"}
Este ejemplo en particular extraerá las columnas en las posiciones de índice 0 y 3 del archivo denominado players.txt.
Esto es lo que hacen los distintos comandos:
- Get-Content: devuelve todas las líneas del archivo
- Foreach: especifica una acción a realizar en cada fila del archivo.
- $_ -split ‘\s+’: divide los valores en la fila actual usando uno o más espacios como delimitador
- [0,3]: solo devuelve los valores de las posiciones de índice 0 y 3 después de la división
El siguiente ejemplo muestra cómo utilizar esta sintaxis en la práctica.
Ejemplo: Cómo extraer columnas específicas de un archivo de texto en PowerShell
Supongamos que tenemos un archivo de texto en nuestro directorio actual llamado players.txt que contiene información sobre varios jugadores de baloncesto.
Podemos usar el cmdlet Get-Content para ver el contenido de este archivo:
Podemos ver que el archivo de texto tiene cuatro columnas que contienen información sobre el equipo, puntos, asistencias y rebotes. para cada jugador.
Supongamos que nos gustaría extraer solo las columnas team y rebounds de este archivo de texto, que se encuentran en las posiciones de índice 0 y 3 del archivo.
Podemos utilizar la siguiente sintaxis para hacerlo:
Get-Content players.txt | Foreach {"$(($_ -split '\s+')[0,3])"}La siguiente captura de pantalla muestra cómo utilizar esta sintaxis en la práctica:
Tenga en cuenta que esto devuelve sólo las columnas en las posiciones de índice 0 y 3 del archivo denominado players.txt.
Tenga en cuenta que puede especificar cualquier número de columna que desee entre corchetes para devolver diferentes columnas del archivo.

