对文本处理,shell,sed,awk和perl那个性能好呢
时间:2011-05-17
来源:互联网
目前需要准实时的对文件进行处理,然后入库,因为数据库性能已经不堪重负,因此在入库前对数据进行文件级别的过滤。
整个控制流程采用perl,但是对文件进行过滤是最耗时的工作,因此想问一下大虾门,采用shell,sed,awk和perl哪种对文本处理的性能会强悍一点。
主要的过滤功能如下:
A文件是详单,B文件是维度,A文件根据B文件里面不存在的维度进行过滤。
如:
A文件:
A,DFSFD,FWFDG,DFSFDS
B,FDSFD,FSDFDS,FDSFER
C,FDSDRR,FDSDRG,DFDW
D,DRFSDR,FWRG,FDWRRD
B文件:
A
B
则过滤后,仅剩下:
A,DFSFD,FWFDG,DFSFDS
B,FDSFD,FSDFDS,FDSFER
请提供一下性能最优的核心代码,谢谢!;)
整个控制流程采用perl,但是对文件进行过滤是最耗时的工作,因此想问一下大虾门,采用shell,sed,awk和perl哪种对文本处理的性能会强悍一点。
主要的过滤功能如下:
A文件是详单,B文件是维度,A文件根据B文件里面不存在的维度进行过滤。
如:
A文件:
A,DFSFD,FWFDG,DFSFDS
B,FDSFD,FSDFDS,FDSFER
C,FDSDRR,FDSDRG,DFDW
D,DRFSDR,FWRG,FDWRRD
B文件:
A
B
则过滤后,仅剩下:
A,DFSFD,FWFDG,DFSFDS
B,FDSFD,FSDFDS,FDSFER
请提供一下性能最优的核心代码,谢谢!;)
作者: fikong2005 发布时间: 2011-05-17
性能估计差不多,都是最简单的 RE 匹配
作者: zhlong8 发布时间: 2011-05-17
都不是底层的需求,我也认为性能会差不多,重要的是算法
作者: iamlimeng 发布时间: 2011-05-17
谢谢楼上2位,借问可否有比较佳的算法,呵呵。
作者: fikong2005 发布时间: 2011-05-17
你连个能跑的都还没写……
把 b 构建成 /^(?:A|B),/ 这样的 RE 和 A匹配下来过滤。如果真的 b 有那么简单你还可以用 c 来写个函数来扩展 Perl 怎么搞都行,但是最终你还是要测试才能知道哪个最优
把 b 构建成 /^(?:A|B),/ 这样的 RE 和 A匹配下来过滤。如果真的 b 有那么简单你还可以用 c 来写个函数来扩展 Perl 怎么搞都行,但是最终你还是要测试才能知道哪个最优
作者: zhlong8 发布时间: 2011-05-17
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28