我有一个文本文件file.txt(12 MB)包含:
something1
something2
something3
something4
(...)
有什么办法来分割file.txt到12个*.txt文件让说file2.txt,file3.txt,file4.txt(......)?
小智 55
$ split -l 100 input_file output_file
-l每个文件中的行数在哪里.这将创建:
CS *_*Pei 47
您可以使用linux bash核心实用程序 split        
split -b 1M -d  file.txt file 
请注意,M或MB两者都可以,但大小不同.MB为1000*1000,M为1024 ^ 2
如果要按行分隔,可以使用-l参数.
UPDATE
a=(`wc -l yourfile`) ; lines=`echo $a/12 | bc -l` ; split -l=$lines -d  file.txt file
Kirill建议的另一种解决方案,您可以执行以下操作
split -n l/12 file.txt
请注意,是l不是one,split -n有几个选项,比如N,k/N,l/k/N,r/N,r/k/N.
sch*_*oon 13
John的回答不会像OP那样产生.txt文件.使用:
split -b=1M -d  file.txt file --additional-suffix=.txt