免费注册 查看新帖 |

Chinaunix

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

求救!大文件处理 [复制链接]

论坛徽章:
0
21 [报告]
发表于 2010-06-24 16:07 |只看该作者
回复  redspider


    呵呵,我认为是有意义的。简单的往往最有效。使用vi/ex对一个10G的文件进行编辑 ...
forge007 发表于 2010-06-24 12:36



    ls已经有人给出方法了,你比较一下效率就知道有没有意义了

论坛徽章:
0
22 [报告]
发表于 2010-06-25 10:22 |只看该作者
多谢各位,不过你们的意见都是使用上面大哥的方法么?

分割的方法就了吧,我这里处理,不是一个文件,而是本来多久很多文件,处理完之后导入数据库的。

我知道10几个G的文件,怎么弄都比较耗时,但就因为大,所以要找效率比较高的方法,否则就很明显的有我一个小时处理完还是好几个小时处理完的区别,这样就大了,而且,我需要处理的文件挺多的。

LS有位大哥说以前讨论过,请问能帮我找下么?我暂时没找着。。。。呵呵

论坛徽章:
0
23 [报告]
发表于 2010-06-25 10:49 |只看该作者
本帖最后由 redspider 于 2010-06-25 10:57 编辑
多谢各位,不过你们的意见都是使用上面大哥的方法么?

分割的方法就了吧,我这里处理,不是一个文件,而 ...
LOVCAL 发表于 2010-06-25 10:22



    lz 帮俺测一下效率,和 sed 对比一下

  1. open(my $R, '>', 'result-data') or die $!;
  2. open(my $F, '<', 'nG_data') or die $!;
  3. for (1 .. 3) { <$F>; } # 扔掉前三行

  4. while (<$F>) {
  5.         next if (/record$/o);
  6.         tr/ //d;
  7.         print {$R} $_;
  8. }

  9. close $F;
  10. close $R;
复制代码

论坛徽章:
0
24 [报告]
发表于 2010-06-25 11:10 |只看该作者
你这段程序在什么环境下执行?
我的就是普通的AIX5.3
貌似不能执行这段,没有open之类的

论坛徽章:
0
25 [报告]
发表于 2010-06-25 11:12 |只看该作者
你这段程序在什么环境下执行?
我的就是普通的AIX5.3
貌似不能执行这段,没有open之类的
LOVCAL 发表于 2010-06-25 11:10



    ... Perl  有么?

论坛徽章:
0
26 [报告]
发表于 2010-06-25 11:20 |只看该作者
回复 25# redspider


    没有

另外问个问题:sed '1,3d;s/ //g;/record/d'  里面3个命令是稍描文件过程中同时执行还是每个命令都要执行一遍稍描?

最后一个操作,其实就是末尾有一包含“record”的行,我想删掉而已,从头往后稍描一遍,貌似不太好,能从后往前,第一次稍描到删除然后就停止么?

论坛徽章:
0
27 [报告]
发表于 2010-06-25 11:25 |只看该作者
回复 26# LOVCAL


    是按顺序的,如果你只是要删除最后一行的话直接 sed '$d' file 就行了

论坛徽章:
0
28 [报告]
发表于 2010-06-25 11:27 |只看该作者
回复 27# where27


    嗯,关键是有些有有些没有。。。。对于有的删除,没有的不能删

论坛徽章:
0
29 [报告]
发表于 2010-06-25 11:30 |只看该作者
回复 26# LOVCAL


    一次扫描到就删除然后退出?那你其他的需求呢,不删除1到3行了?不删除空格了?

论坛徽章:
0
30 [报告]
发表于 2010-06-25 12:06 |只看该作者
你数据库里出来的,当前的文件就这样处理吧

以后的文件,建议直接在数据库里处理
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP