GNU/Linux >> Tutoriels Linux >  >> Linux

Comment diviser un fichier texte en plusieurs fichiers *.txt ?

$ split -l 100 input_file output_file

-l est le nombre de lignes dans chaque fichier. Cela créera :

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

Vous pouvez utiliser l'utilitaire linux bash core split

split -b 1M -d  file.txt file 

Notez que M ou MB les deux sont OK mais la taille est différente. Mo est 1000 * 1000, M est 1024^2

Si vous voulez séparer par des lignes, vous pouvez utiliser -l paramètre.

MISE À JOUR

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

Une autre solution suggérée par Kirill, vous pouvez faire quelque chose comme ce qui suit

split -n l/12 file.txt

Notez que c'est l pas one , split -n a quelques options, comme N , k/N , l/k/N , r/N , r/k/N .


La réponse de John ne produira pas de fichiers .txt comme le souhaite l'OP. Utiliser :

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

Linux
  1. Comment diviser une grande archive 'tar' en plusieurs fichiers d'une certaine taille

  2. Comment ajouter des numéros de ligne aux fichiers texte sous Linux

  3. Comment diviser un seul fichier en plusieurs fichiers en fonction des lignes

  4. Comment changer l'extension de plusieurs fichiers ?

  5. Comment ajouter plusieurs lignes à un fichier ?

Comment diviser un gros fichier d'archive en plusieurs petits fichiers à l'aide de la commande Split sous Linux

Comment diviser un gros fichier en parties à des numéros de ligne donnés

Comment joindre plusieurs lignes en une seule dans un fichier sous Linux

Comment fusionner plusieurs fichiers PDF en un seul PDF sous Linux

Comment joindre/fusionner plusieurs fichiers audio en un seul sous Linux

Comment diviser un fichier MP3 ?