我有一个文本文件file.txt(12 MB)包含:
something1
something2
something3
something4
(...)
Run Code Online (Sandbox Code Playgroud)
有什么办法来分割file.txt到12个*.txt文件让说file2.txt,file3.txt,file4.txt(......)?
小智 55
$ split -l 100 input_file output_file
Run Code Online (Sandbox Code Playgroud)
-l每个文件中的行数在哪里.这将创建:
CS *_*Pei 47
您可以使用linux bash核心实用程序 split
split -b 1M -d file.txt file
Run Code Online (Sandbox Code Playgroud)
请注意,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
Run Code Online (Sandbox Code Playgroud)
Kirill建议的另一种解决方案,您可以执行以下操作
split -n l/12 file.txt
Run Code Online (Sandbox Code Playgroud)
请注意,是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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
81241 次 |
| 最近记录: |