Búsqueda de sitios web

PowerShell: Cómo dividir archivos por número de líneas


A menudo, es posible que desee utilizar PowerShell para dividir un archivo grande en archivos más pequeños según una cantidad específica de líneas.

Puede utilizar la siguiente sintaxis para hacerlo:

$i=0; Get-Content $my_file -ReadCount 3 | %{$i++; $_ | Out-File out_$i.txt}

Este ejemplo en particular divide el archivo especificado en la ruta almacenada en la variable denominada $my_file basándose en cada 3 líneas y nombra los archivos de salida resultantes out_1.txt . , out2.txt, etc.

Para dividir el archivo en función de un número diferente de líneas, simplemente cambie el 3 después del parámetro -ReadCount a un número diferente.

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

Ejemplo: cómo dividir un archivo por número de líneas usando PowerShell

Supongamos que tenemos un archivo ubicado en la siguiente ruta:

c:\users\bobbi\data3\teams.txt

Este archivo contiene actualmente información sobre nueve equipos de baloncesto profesionales:

Supongamos que nos gustaría dividir este archivo de texto en archivos más pequeños cada tres líneas.

Podemos utilizar la siguiente sintaxis para hacerlo:

$my_file = 'c:\users\bobbi\data3\teams.txt'

$i=0; Get-Content $my_file -ReadCount 3 | %{$i++; $_ | Out-File out_$i.txt}

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

Podemos ver que pudimos dividir con éxito el archivo teams.txt cada tres líneas, lo que resultó en la creación de un total de tres archivos en el directorio actual:

  • salida_1.txt
  • salida_2.txt
  • salida_3.txt

Podemos utilizar el cmdlet Get-Content para ver el contenido de cada uno de estos archivos de texto:

De la salida podemos ver:

  • out_1.txt contiene las primeras tres líneas del archivo teams.txt.
  • out_2.txt contiene las siguientes tres líneas del archivo teams.txt.
  • out_3.txt contiene las siguientes tres líneas del archivo teams.txt.

Dado que el archivo teams.txt original contenía nueve líneas en total, dividir el archivo cada tres líneas produjo un total de tres archivos con tres líneas cada uno.

También tenga en cuenta que el archivo teams.txt original todavía existe en el directorio actual.

Artículos relacionados