我得到一个file.txt包含以下内容的文本文件(12 MB):
file.txt
something1 something2 something3 something4 (...)
有什么办法来分流file.txt到12个* .txt文件让说file2.txt,file3.txt,file4.txt(......)?
file2.txt
file3.txt
file4.txt
您可以使用linux bash核心实用程序 split
split
split -b 1M -d file.txt file
注意,M或MB两者都OK,但大小不同。MB为1000 * 1000,M为1024 ^ 2
M
MB
如果要按行分隔,可以使用-l参数。
-l
更新
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。
l
one
split -n
N
k/N
l/k/N
r/N
r/k/N