Buscar..


Introducción

A veces es útil dividir un archivo en varios archivos separados. Si tiene archivos grandes, puede ser una buena idea dividirlo en trozos más pequeños

Dividir un archivo

Ejecutar el comando dividir sin ninguna opción dividirá un archivo en 1 o más archivos separados que contengan hasta 1000 líneas cada uno.

split file

Esto creará archivos llamados xaa , xab , xac , etc., cada uno con un máximo de 1000 líneas. Como puede ver, todos ellos están prefijados con la letra x por defecto. Si el archivo inicial tuviera menos de 1000 líneas, solo se crearía uno de esos archivos.

Para cambiar el prefijo, agregue el prefijo que desee al final de la línea de comando

split file customprefix

Ahora se customprefixaa archivos llamados customprefixaa , customprefixab , customprefixac , etc.

Para especificar el número de líneas a generar por archivo, use la opción -l . Lo siguiente dividirá un archivo en un máximo de 5000 líneas.

split -l5000 file

O

split --lines=5000 file

Alternativamente, puede especificar un número máximo de bytes en lugar de líneas. Esto se hace usando las opciones -b o --bytes . Por ejemplo, para permitir un máximo de 1MB.

split --bytes=1MB file

Podemos usar sed con la opción w para dividir un archivo en varios archivos. Los archivos se pueden dividir especificando la dirección de línea o el patrón.

Supongamos que tenemos este archivo fuente que nos gustaría dividir:

cat -n sourcefile

1 En el Ning Nang Nong
2 donde las vacas van bong!
3 y todos los monos dicen BOO!
4 Hay un Nong Nang Ning
5 donde van los arboles ping!
6 Y las teteras jibber jabber joo.
7 En el Nong Ning Nang

Comando para dividir el archivo por número de línea:

sed '1,3w f1
> 4,7w f2' sourcefile

Esto escribe la línea 1 a la línea 3 en el archivo f1 y la línea 4 a la línea 7 en el archivo f2, desde el archivo fuente.

cat -n f1

1 En el Ning Nang Nong
2 donde las vacas van bong!
3 y todos los monos dicen BOO!

cat -n f2 

1 Hay un Nong Nang Ning
2 donde van los arboles ping!
3 Y las teteras jibber jabber joo.
4 En el Nong Ning Nang

Comando para dividir el archivo por contexto / patrón:

sed '/Ning/w file1
> /Ping/w file2' sourcefile

Esto divide el archivo de origen en archivo1 y archivo2. file1 contiene todas las líneas que coinciden con Ning, file2 contiene líneas que coinciden con Ping.

cat file1

En el Ning Nang Nong
Hay un Nong Nang Ning
En el Nong Ning Nang

cat file2

Donde van los arboles ping!



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow