免费注册 查看新帖 |

Chinaunix

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

[文本处理] 提取行中不同的字符串的行 [复制链接]

论坛徽章:
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
11 [报告]
发表于 2017-05-17 09:11 |只看该作者
本帖最后由 blackold 于 2017-05-17 09:45 编辑

发重了。


awk 居然不支持后引用,太烂了,不要用它了。

论坛徽章:
31
程序设计版块每日发帖之星
日期:2016-02-06 06:20:00程序设计版块每日发帖之星
日期:2016-07-20 06:20:00程序设计版块每日发帖之星
日期:2016-07-26 06:20:00每日论坛发贴之星
日期:2016-07-26 06:20:00程序设计版块每日发帖之星
日期:2016-07-27 06:20:00每日论坛发贴之星
日期:2016-07-27 06:20:00程序设计版块每日发帖之星
日期:2016-07-28 06:20:00程序设计版块每日发帖之星
日期:2016-07-29 06:20:00程序设计版块每日发帖之星
日期:2016-08-02 06:20:00程序设计版块每日发帖之星
日期:2016-08-06 06:20:00程序设计版块每日发帖之星
日期:2016-08-08 06:20:00程序设计版块每日发帖之星
日期:2016-08-09 06:20:00
12 [报告]
发表于 2017-05-17 13:39 |只看该作者
回复 10# blackold


大牛好

你太忙,没想到有时间出手。谢谢

实话实说。这两个命令效率慢的吓人。实战中运行结束要5个多小时(估计)。运行途中让我停止了

我没想到grep也会这么慢


论坛徽章:
0
13 [报告]
发表于 2017-05-17 15:23 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
31
程序设计版块每日发帖之星
日期:2016-02-06 06:20:00程序设计版块每日发帖之星
日期:2016-07-20 06:20:00程序设计版块每日发帖之星
日期:2016-07-26 06:20:00每日论坛发贴之星
日期:2016-07-26 06:20:00程序设计版块每日发帖之星
日期:2016-07-27 06:20:00每日论坛发贴之星
日期:2016-07-27 06:20:00程序设计版块每日发帖之星
日期:2016-07-28 06:20:00程序设计版块每日发帖之星
日期:2016-07-29 06:20:00程序设计版块每日发帖之星
日期:2016-08-02 06:20:00程序设计版块每日发帖之星
日期:2016-08-06 06:20:00程序设计版块每日发帖之星
日期:2016-08-08 06:20:00程序设计版块每日发帖之星
日期:2016-08-09 06:20:00
14 [报告]
发表于 2017-05-17 17:50 |只看该作者
本帖最后由 bmne 于 2017-05-17 17:56 编辑

回复 10# blackold


大牛

我这次的实战样本是  (每一行中)纯字母+空格,没有其它,就是稍大些(近15GB)。每一组字符串最长超不过7个字符。换言之,极端情况每一行最多共30个字符。

我运行前先dos2unix  然后 我前面必须LANG=C再运行。因我以前吃过亏,我已长记性。总之,前期该做的工作已准备好

然后,再运行你的命令的。同等条件下目前较理想的是1、2楼的awk  运行时间估计你也看到了

如果有点时间,麻烦你看看grep的那个(我自己认为它应该效率高些)。如果太忙,就到此吧。我凑合着用awk即可

不好意思



论坛徽章:
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
15 [报告]
发表于 2017-05-18 08:32 |只看该作者
回复 15# bmne

对的。

要效率的话,最好不用正则。正则本身就是循环,尤其是后引用。

论坛徽章:
0
16 [报告]
发表于 2017-05-18 10:37 |只看该作者
行中(各列中)不同?

题目啥意思?我咋没看懂呢?
行不同,列也不同?

论坛徽章:
31
程序设计版块每日发帖之星
日期:2016-02-06 06:20:00程序设计版块每日发帖之星
日期:2016-07-20 06:20:00程序设计版块每日发帖之星
日期:2016-07-26 06:20:00每日论坛发贴之星
日期:2016-07-26 06:20:00程序设计版块每日发帖之星
日期:2016-07-27 06:20:00每日论坛发贴之星
日期:2016-07-27 06:20:00程序设计版块每日发帖之星
日期:2016-07-28 06:20:00程序设计版块每日发帖之星
日期:2016-07-29 06:20:00程序设计版块每日发帖之星
日期:2016-08-02 06:20:00程序设计版块每日发帖之星
日期:2016-08-06 06:20:00程序设计版块每日发帖之星
日期:2016-08-08 06:20:00程序设计版块每日发帖之星
日期:2016-08-09 06:20:00
17 [报告]
发表于 2017-05-18 11:05 |只看该作者
回复 17# dahe_1984


每一行的不同,各个字符串的不同
因为中间有空格,所以我括号说明了一下,同一行中的各列的不同
若再没看明白,就看看列举的数据


论坛徽章:
0
18 [报告]
发表于 2017-05-18 12:54 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
31
程序设计版块每日发帖之星
日期:2016-02-06 06:20:00程序设计版块每日发帖之星
日期:2016-07-20 06:20:00程序设计版块每日发帖之星
日期:2016-07-26 06:20:00每日论坛发贴之星
日期:2016-07-26 06:20:00程序设计版块每日发帖之星
日期:2016-07-27 06:20:00每日论坛发贴之星
日期:2016-07-27 06:20:00程序设计版块每日发帖之星
日期:2016-07-28 06:20:00程序设计版块每日发帖之星
日期:2016-07-29 06:20:00程序设计版块每日发帖之星
日期:2016-08-02 06:20:00程序设计版块每日发帖之星
日期:2016-08-06 06:20:00程序设计版块每日发帖之星
日期:2016-08-08 06:20:00程序设计版块每日发帖之星
日期:2016-08-09 06:20:00
19 [报告]
发表于 2017-05-18 14:02 |只看该作者
本帖最后由 bmne 于 2017-05-18 15:12 编辑

回复 19# 本友会机友会摄友会


知道你用心了,大牛级人物,也浪费脑细胞了。谢谢,辛苦了

老师只告诉我去买一瓶醋,突然半路遇到一个熟人,非要让我再买瓶酱油,可我没带钱。 不好意思,开个玩笑

(另,若非要让我说实话, @jason680    对这方面shell研究深)



论坛徽章:
0
20 [报告]
发表于 2017-05-18 14:22 |只看该作者
回复 7# bmne

$ time perl find.pl

1 2 3 4
a b c d

real    0m0.261s
user    0m0.031s
sys     0m0.030s

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

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP