Descripción general
csplit divide un archivo de entrada en varios archivos de salida según un patrón o número de línea especificado. Cada archivo de salida contendrá una sección consecutiva del archivo original, y los nombres de archivo se compondrán de un prefijo especificado y un sufijo numérico.
Características principales
- División basada en expresiones regulares o números de línea
- Posibilidad de especificar prefijo y formato de sufijo para los nombres de archivo de salida
- Facilita la extracción y gestión de secciones específicas de archivos grandes
Opciones principales
Control de archivos de salida
Control del comportamiento de división
Comando generado:
Combina los comandos.
Descripción:
`csplit` Ejecutando el comando.
Combina las opciones anteriores para ejecutar virtualmente los comandos junto con la IA.
Ejemplos de uso
Dividir archivo por número de línea
echo -e "$(seq 1 35)" > test.txt
csplit test.txt 10 20 30
Divide el archivo test.txt en las líneas 10, 20 y 30. (Ej: xx00: líneas 1-9, xx01: líneas 10-19, xx02: líneas 20-29, xx03: desde la línea 30 hasta el final)
Dividir archivo por expresión regular
echo -e "Line 1\nLine 2\nERROR: First error\nLine 4\nLine 5\nERROR: Second error\nLine 7" > log.txt
csplit -f part_ log.txt '/^ERROR:/' '{*}'
Divide el archivo log.txt basándose en líneas que comienzan con '^ERROR:', y especifica 'part_' como prefijo del archivo. '{*}' significa agrupar el resto del contenido en un solo archivo.
Dividir especificando prefijo y número de dígitos
echo -e "[Section 1]\nContent A\n[Section 2]\nContent B\n[Section 3]\nContent C" > data.log
csplit -f my_file_ -n 3 data.log '/^\[Section \d+\]/' '{*}'
Divide el archivo data.log por el patrón '[Section N]' y genera nombres de archivo como 'my_file_000', 'my_file_001', etc.
Dividir excluyendo líneas coincidentes
echo -e "Line 1\nERROR: First error\nLine 3\nERROR: Second error" > log.txt
csplit --suppress-match -f no_error_ log.txt '/^ERROR:/' '{*}'
Divide el archivo log.txt por el patrón '^ERROR:', pero sin incluir las líneas que comienzan con 'ERROR:' en cada archivo dividido.
Consejos y precauciones
El comando csplit es potente, pero se debe tener cuidado al usar expresiones regulares.
Consejos útiles
- Al usar expresiones regulares, envuélvelas entre comillas para evitar la interpretación por parte del shell.
- La línea que sirve como criterio de división se convierte por defecto en la primera línea del siguiente archivo. Puedes excluir esa línea con la opción `--suppress-match`.
- '{*}' significa agrupar todos los archivos restantes en uno solo. Si no se usa esta opción, el contenido posterior al último criterio de división se descartará.
Precauciones
- No modifica el archivo original: csplit no modifica el archivo original, sino que crea nuevos archivos divididos.
- Manejo de errores: Pueden ocurrir errores si las expresiones regulares no coinciden o si los números de línea no son válidos. Las expresiones regulares deben escribirse con precisión.