Lectores como tú ayudan a apoyar a MUO. Cuando realiza una compra utilizando enlaces en nuestro sitio, podemos ganar una comisión de afiliado. Leer más.

csplit es una popular utilidad de línea de comandos de Linux que se utiliza para dividir el contenido de un archivo en dos. El archivo que necesita modificar debe ser un archivo de texto con un ".TXT" extensión.

El comando es fácil de usar y funciona bien en todas las distribuciones de Linux. Con el uso de diferentes indicadores disponibles para csplit, también puede modificar la salida según sus necesidades.

Aquí se explica cómo usar csplit para dividir un archivo en Linux.

¿Qué es csplit?

Utilizado en Linux y otros sistemas operativos similares a Unix, csplit puede dividir un archivo en archivos individuales determinados por líneas de contexto.

La sintaxis básica del comando es:

csplit[OPCIÓN][PATRÓN]

csplit vs. dividir

A la mayoría de los usuarios de Linux les gusta usar el comando dividir cuando se trata de dividir un archivo en varios archivos más pequeños. El problema con este comando es que se basa en el tamaño de bytes o el tamaño de línea para dividir los archivos.

instagram viewer

Esto no es factible en escenarios en los que desea dividir los archivos en función de su contenido, en lugar de su tamaño. Aquí es cuando csplit viene al rescate, ya que divide el archivo en fragmentos de tamaño fijo según el contenido en lugar del recuento de bytes.

Cómo instalar csplit en Linux

csplit viene preinstalado en casi todas las distribuciones de Linux. Sin embargo, si se enfrenta a un error de "csplit: comando no encontrado", esto significa que la herramienta no está instalada en su sistema. Para instalar csplit en Ubuntu, ejecute:

sudo apt-conseguir instalar coreutils

En Arch Linux, ejecute:

sudo pacman -S coreutils

Para instalar csplit en Fedora y RHEL:

sudo dnf instalar coreutils

Cómo usar csplit en Linux

Para ver cómo funciona csplit, cree un archivo de texto en su sistema. Usar el comando táctil para crear un archivo vacío.

tocarNombre del archivo.TXT

Una vez que haya creado el archivo, ábralo con el editor nano para modificar su contenido.

nanoNombre del archivo.TXT

Una vez que haya agregado algo de contenido al archivo, presione Control + X y luego Y para guardarlo y cerrarlo.

Para verificar el contenido del archivo usando el comando del gato, correr:

nombre de archivo de gato

Use el comando csplit para dividir un archivo

Para comprender cómo funciona csplit, primero mire el contenido del archivo que se usa aquí como ejemplo.

El archivo contiene nueve líneas de los números 1 a 9. Si tiene que dividir el archivo en dos, ¿cómo le dirá a csplit qué contenidos enviar al primer archivo y cuáles al otro? Eso es fácil. En el comando, solo necesita decirle a csplit desde qué línea comenzar la división.

Esto se hace especificando el número de línea. Por ejemplo, si desea dividir el archivo desde la tercera línea con la palabra "Londres", mencionará 3 en el comando. Ingrese el comando de esta manera:

csplitNombre del archivo.TXT 3

Este comando dividirá instantáneamente el archivo en dos. Usar el comando ls para enumerar todos los contenidos del directorio para ver los archivos de salida. Encontrarás los nuevos archivos con los nombres xx00 y xx01 junto con el archivo original.

Utilice el comando cat para verificar el contenido de ambos archivos.

Como puede ver, csplit divide el archivo en dos partes desde la tercera línea como se especifica en el comando.

Las opciones del comando csplit

Estas son algunas de las opciones de línea de comandos de csplit que puede usar:

1. Cambiar el prefijo de los archivos de salida

También conocida como la bandera de prefijo, -F modifica el prefijo en el nombre del archivo. Es posible que haya notado que cuando csplit divide el archivo, los nuevos archivos creados tienen XX como prefijo en los nombres de archivo. Puede cambiar eso usando el -F bandera en el comando.

Por ejemplo, si desea que los nombres de archivo tengan a B C como prefijo en lugar de XX, emita el comando de esta manera:

csplit-Fa B CNombre del archivo.TXT 3

Como se ve, después de la división, ambos archivos tienen a B C como prefijo en los nombres.

2. Conservar los archivos cuando se produzcan errores

El -k o el --Manten los archivos La opción no elimina los archivos de salida si hay un error en el comando csplit.

Emita el siguiente comando defectuoso:

csplit -k archivo aleatorio.txt 2 {3}

3. Modificar el número de dígitos en el nombre de archivo

Con esta opción, puede decirle al comando csplit cuántos dígitos desea ver en el nombre del archivo después del prefijo. También se le llama bandera de dígitos.

Ejecute el siguiente comando para mantener solo un dígito en el nombre del archivo:

csplit-norte 1 archivo aleatorio.TXT 2

Sin el -norte flag, de forma predeterminada, verá dos dígitos en el nombre del archivo.

4. Dividir el archivo sin generar el conteo de tamaño

También conocida como la bandera tranquila, la -s flag divide silenciosamente el archivo sin mencionar el conteo de tamaño de los archivos de salida.

csplit-sarchivo aleatorio.TXT 3

5. Ver ayuda de la línea de comandos

Para ver detalles de todas las opciones disponibles para csplit, use el -h o --ayuda bandera en el comando.

csplit --ayuda

6. Compruebe el número de versión de csplit

Para ver qué versión de csplit está usando, ejecute el comando con el --versión bandera:

csplit --versión

7. Omita una línea específica al dividir

También puede utilizar el --suprimir-emparejado opción de línea de comandos para omitir una línea en particular al dividir el archivo.

csplit--suprimir-emparejadoNombre del archivo.TXT 5

Al crear los dos archivos, csplit ignorará la quinta línea y dividirá el archivo de la línea siguiente.

La quinta línea del archivo original tiene la palabra "Berlín". En el archivo de salida, se omitió "Berlín".

Dividir archivos sin esfuerzo con un solo comando en Linux

Hay muchas utilidades de línea de comandos disponibles para administrar archivos en un sistema Linux. Uno de ellos es csplit. Por defecto, está disponible en todos los sistemas Linux. Si no, simplemente puede instalarlo a través de la línea de comando.

csplit es una forma fácil y eficiente de dividir un archivo cuando tiene que dividir el archivo según su contenido. csplit viene con varias opciones de línea de comandos que le ofrecen la flexibilidad de adaptar la salida de la manera que desee. Existen varias herramientas de línea de comandos para ver el contenido de un archivo en Linux si desea verificar los archivos después de dividirlos.