Comando Linux · 4 min read · Sep 14, 2025
Comando Csplit de Linux Explicado para Principiantes (6 Ejemplos)

El comando csplit de Linux es una utilidad versátil utilizada para dividir un archivo en múltiples segmentos basados en líneas de contexto o patrones especificados. A diferencia del comando split, que divide archivos según el tamaño, csplit permite a los usuarios definir puntos de división utilizando números de línea, expresiones regulares o una combinación de ambos, lo que lo hace ideal para manejar archivos de texto con una estructura predecible. El comando genera archivos de salida nombrados secuencialmente, con un prefijo predeterminado y sufijos numéricos, que pueden ser personalizados. Esta flexibilidad es particularmente útil para tareas como extraer secciones de archivos de registro, dividir archivos de configuración o preparar datos de texto para su procesamiento por otros scripts o aplicaciones.
En este tutorial, discutiremos los conceptos básicos de esta herramienta y aprenderemos cómo usarla. Pero antes de hacer eso, vale la pena mencionar que todos los comandos/instrucciones mencionados aquí han sido probados en Ubuntu 24.04.
Comando Csplit de Linux
Así es como la página del manual del comando lo define:
csplit - dividir un archivo en secciones determinadas por líneas de contextoA continuación se muestra su sintaxis genérica:
csplit [OPCIÓN]... ARCHIVO PATRÓN...Los pequeños archivos individuales creados por csplit tienen nombres como xx00 y xx01. La siguiente definición - tomada de la página del manual del comando - debería aclarar las cosas:
Piezas de salida de ARCHIVO separadas por PATRÓN(es) a archivos 'xx00', 'xx01', ..., y contar bytes de cada pieza a la salida estándar.Los siguientes ejemplos tipo Q&A deberían darte una buena idea de cómo funciona el comando csplit.
P1. ¿Cómo dividir archivos según el número de líneas?
Supongamos que tu archivo contiene seis líneas, y el requisito es dividir ese archivo en la tercera línea. Esto se puede hacer pasando ‘3’ como un argumento de línea de comando después del nombre del comando y del archivo.
Por ejemplo, en nuestro caso, el archivo1 contenía las siguientes líneas:
1 Asia
2 África
3 Europa
4 América del Norte
5 América del Sur
6 AustraliaY aquí está el comando que ejecutamos:
csplit archivo1 3Los números producidos en la salida son el conteo de bytes para los archivos que produjo el comando. Se produjeron dos archivos en la salida, a saber, xx00 y xx01.
El contenido de estos archivos confirma que la división ocurrió en el número de línea 3.
P2. ¿Cómo dividir archivos usando expresiones regulares?
También puedes usar expresiones regulares con el comando csplit. Por ejemplo, en el caso anterior, si deseas que la herramienta repita el patrón una vez más, puedes hacerlo utilizando el siguiente comando:
csplit archivo1 3 {1}Así que en este caso, se produjeron tres archivos de salida:

P3. ¿Cómo tener un prefijo personalizado en lugar del predeterminado ‘xx’?
Por defecto, los archivos que csplit produce en la salida tienen ‘xx’ como prefijo. Sin embargo, si lo deseas, puedes cambiar el prefijo utilizando la opción de línea de comando -f, que requiere el nuevo prefijo como su entrada.
Por ejemplo, el siguiente comando producirá archivos con ‘htf’ como prefijo.
csplit archivo1 1 -f htfP4. ¿Cómo forzar a csplit a no eliminar archivos de salida en caso de error?
El comando csplit, por defecto, elimina archivos de salida (cualquiera, si se creó) tan pronto como se encuentra un error. Por ejemplo, la siguiente captura de pantalla confirma que no se produjo ningún archivo de salida:
Sin embargo, puedes cambiar este comportamiento utilizando la opción -k en el comando. Por ejemplo, el mismo comando se ejecutó nuevamente, pero con esta opción, y los archivos de salida no se eliminaron esta vez.
P5. ¿Cómo suprimir líneas que coinciden con el patrón de entrada?
El comando csplit también permite suprimir líneas que coinciden con el patrón de entrada. La opción en cuestión es –suppress-matched.
Por ejemplo, el siguiente comando divide el archivo (archivo1) en la línea 2 (xx00 contendrá la línea 1, mientras que xx11 contendrá el resto de las líneas).
csplit archivo1 2Pero si deseas suprimir la línea 2, entonces puedes ejecutar el siguiente comando:
csplit --suppress-matched archivo1 2P6. ¿Cómo usar un número personalizado de dígitos en lugar del predeterminado 2?
Al igual que el prefijo en sí, el número de dígitos que siguen al prefijo en los nombres de archivo de salida también es personalizable. Así que supongamos que deseas tener nombres como xx000 y xx0001, puedes hacerlo utilizando la opción de línea de comando -n, que requiere un número de entrada que signifique el nuevo número de dígitos.
Por ejemplo:
csplit -n 1 archivo1 2El comando anterior produciría nombres de archivo como xx0, xx1, etc.
Conclusión
Un usuario promedio de la línea de comandos de Linux puede no requerir dividir archivos a diario, pero es una utilidad importante que al menos deberías conocer. Hemos cubierto la mayoría de los ejemplos básicos y opciones de línea de comando aquí. Pruébalos y luego dirígete a la página del manual de la herramienta para aprender más sobre ella.
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.