免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3998 | 回复: 10
打印 上一主题 下一主题

如何把一个文本文件平均划分为10个文件 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-10-28 15:16 |只看该作者 |倒序浏览
有一个文本文件如下:
root@localhost ~]# more linuxdoc.txt 注:linuxdoc.txt 文件内容查看;
111111111
222222222
333333333
444444444
555555555
666666666
777777777


如何把这个linuxdoc.txt 文件平均的划分为10个文本文件,比如childdoc0.txt-child9.txt
多谢!

论坛徽章:
23
15-16赛季CBA联赛之吉林
日期:2017-12-21 16:39:27白羊座
日期:2014-10-27 11:14:37申猴
日期:2014-10-23 08:36:23金牛座
日期:2014-09-30 08:26:49午马
日期:2014-09-29 09:40:16射手座
日期:2014-11-25 08:56:112015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:0315-16赛季CBA联赛之山东
日期:2017-12-21 16:39:1915-16赛季CBA联赛之广东
日期:2016-01-19 13:33:372015亚冠之山东鲁能
日期:2015-10-13 09:39:062015亚冠之西悉尼流浪者
日期:2015-09-21 08:27:57
2 [报告]
发表于 2008-10-28 15:37 |只看该作者
man split

论坛徽章:
0
3 [报告]
发表于 2008-10-28 15:45 |只看该作者
split是分割文件的行家啊

论坛徽章:
0
4 [报告]
发表于 2008-10-28 16:22 |只看该作者
split只能按照固定的多少行分隔,
split -l 5 linuxdoc.txt
就只能按照每个文件5行分隔,其他的选项,也都是类似的,不符合我的要求
我的文本文件每天的行数是不同的

论坛徽章:
23
15-16赛季CBA联赛之吉林
日期:2017-12-21 16:39:27白羊座
日期:2014-10-27 11:14:37申猴
日期:2014-10-23 08:36:23金牛座
日期:2014-09-30 08:26:49午马
日期:2014-09-29 09:40:16射手座
日期:2014-11-25 08:56:112015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:0315-16赛季CBA联赛之山东
日期:2017-12-21 16:39:1915-16赛季CBA联赛之广东
日期:2016-01-19 13:33:372015亚冠之山东鲁能
日期:2015-10-13 09:39:062015亚冠之西悉尼流浪者
日期:2015-09-21 08:27:57
5 [报告]
发表于 2008-10-28 16:25 |只看该作者
原帖由 augustusqing 于 2008-10-28 16:22 发表
split只能按照固定的多少行分隔,
split -l 5 linuxdoc.txt
就只能按照每个文件5行分隔,其他的选项,也都是类似的,不符合我的要求
我的文本文件每天的行数是不同的


那可以先计算行数,然后在分。

还有,如果你的文件有11条记录,平均分到10个文件怎么分?

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
6 [报告]
发表于 2008-10-28 16:40 |只看该作者
split还可以按照size分割

论坛徽章:
0
7 [报告]
发表于 2008-10-28 16:58 |只看该作者
没关系,不用完全的彻底的平均的,大概就可以了
是啊,我是想先计算出行数,然后除10
#!/bin/sh
lines=`wc -l linuxdoc.txt | awk '{print $1}'`
line=$lines/10
split -l $line -d linuxdoc.txt linuxdoc.txt.


这里,这个line变量获取不到,这里如何写了
谢谢各位。

烈火,按size划分,也需要先获取大小

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
8 [报告]
发表于 2008-10-28 17:08 |只看该作者
$ split -l $(expr $(wc -l infile |cut -d ' ' -f 1) / 10 + 1) infile

论坛徽章:
23
15-16赛季CBA联赛之吉林
日期:2017-12-21 16:39:27白羊座
日期:2014-10-27 11:14:37申猴
日期:2014-10-23 08:36:23金牛座
日期:2014-09-30 08:26:49午马
日期:2014-09-29 09:40:16射手座
日期:2014-11-25 08:56:112015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:0315-16赛季CBA联赛之山东
日期:2017-12-21 16:39:1915-16赛季CBA联赛之广东
日期:2016-01-19 13:33:372015亚冠之山东鲁能
日期:2015-10-13 09:39:062015亚冠之西悉尼流浪者
日期:2015-09-21 08:27:57
9 [报告]
发表于 2008-10-28 17:25 |只看该作者
原帖由 blackold 于 2008-10-28 17:08 发表
$ split -l $(expr $(wc -l infile |cut -d ' ' -f 1) / 10 + 1) infile


wc -l infile | cut -d ' ' -f 1

这个在你的环境下可以?

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
10 [报告]
发表于 2008-10-28 17:35 |只看该作者

回复 #9 ly5066113 的帖子

可以啊。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP