我有一个文本文件 file.txt
(12 MB),其中包含:
something1
something2
something3
something4
(...)
有没有办法将file.txt
拆分成12个*.txt文件,比如说file2.txt
、file3.txt
, file4.txt
等?
最佳答案
您可以使用 Linux Bash 核心实用程序 split
:
split -b 1M -d file.txt file
注意 M
或 MB
都可以,但大小不同。 MB 为 1000 * 1000,M 为 1024^2
如果要按行分隔,可以使用 -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
.
https://stackoverflow.com/questions/19031144/