GNU/Linux >> Znalost Linux >  >> Linux

Jak rozdělit jeden textový soubor do více souborů *.txt?

$ split -l 100 input_file output_file

kde -l je počet řádků v každém souboru. Tím se vytvoří:

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

Můžete použít linuxový bash core nástroj split

split -b 1M -d  file.txt file 

Všimněte si, že M nebo MB oba jsou v pořádku, ale velikost je jiná. MB je 1000 * 1000, M je 1024^2

Pokud chcete oddělovat řádky, můžete použít -l parametr.

AKTUALIZACE

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

Jiné řešení, jak navrhl Kirill, můžete udělat něco jako následující

split -n l/12 file.txt

Všimněte si, že je to l ne one , split -n má několik možností, například N , k/N , l/k/N , r/N , r/k/N .


Johnova odpověď nevytvoří soubory .txt, jak chce OP. Použijte:

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

Linux
  1. Jak rozdělit velký archiv „tar“ na více souborů určité velikosti

  2. Jak odebrat všechny soubory ve složce kromě jednoho konkrétního souboru v systému Linux

  3. Jak změnit příponu více souborů?

  1. Zřetězit konkrétní soubory do jednoho jediného souboru?

  2. Jak připojit více řádků k souboru?

  3. Jak připojit obsah více souborů do jednoho souboru

  1. Jak přidat čísla řádků do textových souborů v systému Linux

  2. Jak spojit dva textové soubory v Linuxu

  3. Jak gzipovat více souborů do jednoho souboru gz?