一尘不染

如何将一个文本文件拆分为多个* .txt文件?

linux

我得到一个file.txt包含以下内容的文本文件(12 MB):

something1
something2
something3
something4
(...)

有什么办法来分流file.txt到12个* .txt文件让说file2.txtfile3.txtfile4.txt(......)?


阅读 1809

收藏
2020-06-03

共1个答案

一尘不染

您可以使用linux bash核心实用程序 split

split -b 1M -d  file.txt file

注意,MMB两者都OK,但大小不同。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不是onesplit -n有几个选项,比如Nk/Nl/k/Nr/Nr/k/N

2020-06-03