Csplit
csplit es una utilidad de Unix diseñada para dividir un archivo en varios archivos más pequeños según las líneas de contexto.
Descripción
csplit [ opciones ] archivo arg_1 [ ... arg_n ]
El comando csplit lee un archivo y lo divide en n + 1 partes especificadas por los argumentos arg_1 ... arg_n. De forma predeterminada, las secciones se colocan en archivos denominados xx00, ..., xxn; donde n no puede ser mayor que 99. Los límites de los archivos resultantes se definen de la siguiente manera: desde la cadena especificada por el argumento arg_(n−1) hasta la cadena arg_n (si n = 1, entonces la definición va desde el principio de el archivo).
Este comando toma los siguientes argumentos:
| Opción | Nombre | Descripción |
|---|---|---|
| -s | Suprime la salida del número de caracteres de los archivos creados | |
| -k | Manten los archivos | No elimina los archivos de salida en los errores |
| -F | prefijo | Establecer un prefijo que no sea xx |
| -z | elide archivos vacios | Ignorar archivos de salida vacíos |
| -norte | dígitos | Usando el número especificado de dígitos en lugar de dos |
Cada plantilla puede verse así:
| Diseño | Descripción |
|---|---|
| /regex[+/- desplazamiento]/ | Se crea un archivo que comienza en la línea actual y continúa hasta (pero sin incluir) la línea que contiene la expresión. La expresión regular puede ir seguida de un desplazamiento positivo o negativo. |
| %regex[+/- desplazamiento]% | Similar al anterior, pero no se crea el archivo para la siguiente sección. |
| número de línea | Copie en el archivo creado hasta la siguiente línea (sin incluirla). |
| {número} | Repita el patrón anterior el número especificado de veces. |
| {*} | Repite el patrón anterior el máximo número de veces. |
Ejemplo de uso
Este programa dividirá el archivo test1 en 3 partes.
csplit prueba1 3
En la salida, obtendremos el tamaño de los archivos creados en bytes y 2 archivos creados: xx00 y xx01.
Para dividir un archivo en tres archivos más pequeños, puede usar la siguiente expresión regular:
archivo csplit1 3 { 1 }
Después de ejecutar este programa, obtendremos 3 archivos.