$ 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