GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo dividir un archivo de texto en varios archivos *.txt?

$ split -l 100 input_file output_file

donde -l es el número de líneas en cada archivo. Esto creará:

  • archivo_de_salidaaa
  • archivo_de_salida
  • salida_archivoac
  • archivo_de_salida
  • ....

Puede usar la utilidad de Linux bash core split

split -b 1M -d  file.txt file 

Tenga en cuenta que M o MB Ambos están bien, pero el tamaño es diferente. MB es 1000 * 1000, M es 1024^2

Si quieres separar por líneas puedes usar -l parámetro.

ACTUALIZAR

a=(`wc -l yourfile`) ; lines=`echo $(($a/12)) | bc -l` ; split -l $lines -d  file.txt file

Otra solución sugerida por Kirill, puede hacer algo como lo siguiente

split -n l/12 file.txt

Tenga en cuenta que es l no one , split -n tiene algunas opciones, como N , k/N , l/k/N , r/N , r/k/N .


La respuesta de John no producirá archivos .txt como quiere el OP. Usar:

split -b=1M -d  file.txt file --additional-suffix=.txt

Linux
  1. ¿Cómo cambiar la extensión de varios archivos?

  2. ¿Concatenar archivos específicos en un solo archivo?

  3. ¿Cómo agregar varias líneas a un archivo?

  4. Cómo agregar contenidos de múltiples archivos en un archivo

  5. ¿Cómo gzip varios archivos en un archivo gz?

Cómo dividir un archivo grande en varios archivos pequeños usando el comando Dividir en Linux

Cómo dividir un archivo grande en partes en números de línea dados

Cómo unir varias líneas en una en un archivo en Linux

Cómo combinar varios archivos PDF en un solo PDF en Linux

Cómo unir/combinar varios archivos de audio en uno solo en Linux

¿Cómo dividir un archivo Mp3?