GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie teilt man eine Textdatei in mehrere *.txt-Dateien auf?

$ split -l 100 input_file output_file

wobei -l ist die Anzahl der Zeilen in jeder Datei. Dadurch wird Folgendes erstellt:

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

Sie können das Linux-Bash-Core-Dienstprogramm split verwenden

split -b 1M -d  file.txt file 

Beachten Sie, dass M oder MB Beide sind OK, aber die Größe ist unterschiedlich. MB ist 1000 * 1000, M ist 1024^2

Wenn Sie nach Zeilen trennen möchten, können Sie -l verwenden Parameter.

AKTUALISIEREN

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

Eine andere Lösung, wie von Kirill vorgeschlagen, Sie können so etwas wie das Folgende tun

split -n l/12 file.txt

Beachten Sie, dass dies l ist nicht one , split -n hat einige Optionen, wie N , k/N , l/k/N , r/N , r/k/N .


Johns Antwort erzeugt keine .txt-Dateien, wie es das OP wünscht. Verwendung:

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

Linux
  1. So teilen Sie ein großes „tar“-Archiv in mehrere Dateien bestimmter Größe auf

  2. So fügen Sie Textdateien unter Linux Zeilennummern hinzu

  3. Bestimmte Dateien zu einer einzigen Datei verketten?

  4. Wie fügt man mehrere Zeilen an eine Datei an?

  5. Wie gzipe ich mehrere Dateien in eine gz-Datei?

So teilen Sie eine große Archivdatei mit dem Split-Befehl in Linux in mehrere kleine Dateien auf

So teilen Sie eine große Datei in Teile bei bestimmten Zeilennummern auf

So verbinden Sie mehrere Zeilen in einer Datei in Linux zu einer

So führen Sie unter Linux mehrere PDF-Dateien zu einem PDF zusammen

So verbinden/verschmelzen Sie mehrere Audiodateien zu einer in Linux

Wie teilt man eine MP3-Datei?