$ 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