GNU/Linux >> Linux Esercitazione >  >> Linux

Come dividere un file di testo in più file *.txt?

$ split -l 100 input_file output_file

dove -l è il numero di righe in ogni file. Questo creerà:

  • output_fileaa
  • output_fileab
  • output_fileac
  • output_filead
  • ....

Puoi usare l'utility linux bash core split

split -b 1M -d  file.txt file 

Nota che M o MB entrambi sono OK ma la dimensione è diversa. MB è 1000 * 1000, M è 1024^2

Se vuoi separare per linee puoi usare -l parametro.

AGGIORNA

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

Un'altra soluzione suggerita da Kirill, puoi fare qualcosa di simile

split -n l/12 file.txt

Nota che è l non one , split -n ha alcune opzioni, come N , k/N , l/k/N , r/N , r/k/N .


La risposta di John non produrrà file .txt come vuole l'OP. Usa:

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

Linux
  1. Come dividere un singolo file in più file in base alle righe

  2. Concatenare file specifici in un unico file?

  3. Come spostare una riga in un file di testo su o giù di una riga?

  4. Come aggiungere più righe a un file?

  5. Come creare un archivio tar suddiviso in più file?

Come dividere un file di archivio di grandi dimensioni in più file di piccole dimensioni utilizzando il comando Dividi in Linux

Come dividere un file di grandi dimensioni in parti a numeri di riga dati

Come unire più righe in una in un file in Linux

Come unire più file PDF in un unico PDF in Linux

Come unire/unire più file audio in uno in Linux

Come dividere un file Mp3?