免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
1234
最近访问板块 发新帖
楼主: heracai
打印 上一主题 下一主题

[文本处理] 每隔1000行,取一行重新排列 [复制链接]

论坛徽章:
0
31 [报告]
发表于 2013-07-09 17:53 |只看该作者
heracai 发表于 2013-07-08 23:06
谢谢各位的帮忙。今天我试了一下,@cao627
@waker
awk '{print >NR%1000".outfile"}' file ;for((i=1;i




第一个命令只读一次源文件,生成999个小文件,然后合并一起

第二个命令读999次源文件,然后把结果打印到一个文件

效率区别可想而知

论坛徽章:
0
32 [报告]
发表于 2013-07-09 21:20 |只看该作者
回复 31# Kotokz


    刚开始的时候速度还可以,处理了几个文件后,为什么会越来越慢呢?有没有办法和刚开始时一样的速度?合并1000个文件,只能用cat吗?感觉cat效率也不高啊

论坛徽章:
0
33 [报告]
发表于 2013-07-10 00:48 |只看该作者
seq 60000 | awk '{b=NR%1000;a[b]=a[b]"\n"$0}END{for(i==1;i<=1000;i++){print a[i]}}'

论坛徽章:
0
34 [报告]
发表于 2013-07-10 10:15 |只看该作者
回复 33# xzregg


谢啦!这个速度快
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP