忘记密码   免费注册 查看新帖 |

ChinaUnix.net

  平台 论坛 博客 文库 频道自动化运维 虚拟化 储存备份 C/C++ PHP MySQL 嵌入式 Linux系统
12下一页
最近访问板块 发新帖
查看: 2368 | 回复: 17

[文本处理] 能加快吗 [复制链接]

论坛徽章:
2
15-16赛季CBA联赛之八一
日期:2017-12-29 13:06:2315-16赛季CBA联赛之天津
日期:2018-08-08 17:39:46
发表于 2018-08-24 12:57 来自手机 |显示全部楼层
本帖最后由 aaaa_123 于 2018-08-24 13:06 编辑

thanks1sorryhello57
hello0347hel
my2god367
hello03470000
打印出重复2次以上或者3次以上字符
hello0347hel
hello03470000
写了一个,好像不够快,不知道是不是自己思维算法问题

希望能得到加快速度

awk -vm=3 '{max=0;delete a;for(i=1;i<=length($0);i++)a[substr($0,i,1)]++;for(i in a)if(a>max)max=a}'

thanks

论坛徽章:
28
ChinaUnix元老
日期:2015-02-02 08:55:392017金鸡报晓
日期:2017-01-10 15:13:29CU十四周年纪念徽章
日期:2018-08-29 22:12:2715-16赛季CBA联赛之深圳
日期:2018-09-20 12:21:09
发表于 2018-08-24 13:11 |显示全部楼层
hello0347hel
hello03470000
能否详细介绍一下规律是什么,为啥这些字符满足要求而其它不满足?

论坛徽章:
2
15-16赛季CBA联赛之八一
日期:2017-12-29 13:06:2315-16赛季CBA联赛之天津
日期:2018-08-08 17:39:46
发表于 2018-08-24 13:31 来自手机 |显示全部楼层
本帖最后由 aaaa_123 于 2018-08-24 13:44 编辑
Shell_HAT 发表于 2018-08-24 13:11
hello0347hel
hello03470000
能否详细介绍一下规律是什么,为啥这些字符满足要求而其它不满足?


就是找出重复字符
hello0347hel这个l重复了3次,所以它满足条件
hello03470000这个0重复了5次,也满足3次以上条件

例如adgjana
a它重复了3次,所以条件就满足了


thanks1sorryhello57这行最多重复了2次,条件不足
my2god367这行也是条件不足
这2行它们每一个都不满足重复3次以上字符条件

论坛徽章:
6
程序设计版块每日发帖之星
日期:2016-05-11 06:20:00操作系统版块每日发帖之星
日期:2016-05-12 06:20:00每日论坛发贴之星
日期:2016-05-12 06:20:00操作系统版块每日发帖之星
日期:2016-05-14 06:20:00程序设计版块每日发帖之星
日期:2016-05-31 06:20:00每日论坛发贴之星
日期:2016-05-31 06:20:00
发表于 2018-08-24 14:41 |显示全部楼层
本帖最后由 1cpuer 于 2018-08-24 20:18 编辑
  1. # Bash: /home/soio/1bs # 2018-08-24 11:26:41 #1535081201
  2. # vim A_123

  3. # Bash: /home/soio/1bs # 2018-08-24 14:37:53 #1535092673
  4. # awk -vm=3 '{max=0;delete a;for(i=1;i<=length($0);i++)a[substr($0,i,1)]++;for(i in a)if(a>max)max=a}' A_123
  5. awk: 命令行:1: (FILENAME=A_123 FNR=1) 致命错误: 试图在标量环境中使用数组“a”

  6. ## for(i in a) #----a[i] 数组..

  7. # Bash: /home/soio/1bs # 2018-08-24 14:38:14 #1535092694
  8. # awk '{print substr($0,i,1)}' A_123
  9. t
  10. h
  11. m
  12. h


  13. # Bash: /home/soio/1bs # 2018-08-24 14:46:08 #1535093168
  14. # cat A_123
  15. thanks1sorryhello57
  16. hello0347hel
  17. my2god367
  18. hello03470000

  19. m=3 ---- ??
  20. 每行重复字符 >= 3
  21. 无法加速

  22. # Bash: /home/soio/1bs # 2018-08-24 20:05:14 #1535112314
  23. # awk -vm=3 '{max=0;delete a;for(i=1;i<=length($0);i++)a[substr($0,i,1)]++;for(i in a)if(a[i]>max)max=a[i]}max>=m' A_123
  24. hello0347hel
  25. hello03470000

  26. # very NEW 居然在1个{action} 完成

复制代码


论坛徽章:
6
CU十四周年纪念徽章
日期:2017-08-28 17:16:1915-16赛季CBA联赛之北控
日期:2018-03-29 11:39:0615-16赛季CBA联赛之上海
日期:2018-05-21 10:46:10技术图书徽章
日期:2018-09-03 13:48:54技术图书徽章
日期:2018-09-03 13:54:18技术图书徽章
日期:2018-09-03 13:54:28
发表于 2018-08-24 14:56 |显示全部楼层
本帖最后由 龙牙地主天 于 2018-08-24 15:08 编辑

回复 1# aaaa_123

  1. awk -F '' '{for(i=1;i<=NF;i++) {a[$i]++;if(a[$i]>=3) {print $0;delete a;next}}}' file
复制代码

论坛徽章:
2
15-16赛季CBA联赛之八一
日期:2017-12-29 13:06:2315-16赛季CBA联赛之天津
日期:2018-08-08 17:39:46
发表于 2018-08-24 19:51 |显示全部楼层

sorry
awk -vm=3 '{max=0;delete a;for(i=1;i<=length($0);i++)a[substr($0,i,1)]++;for(i in a)if(a>max)max=a}max>=m'



论坛徽章:
2
15-16赛季CBA联赛之八一
日期:2017-12-29 13:06:2315-16赛季CBA联赛之天津
日期:2018-08-08 17:39:46
发表于 2018-08-24 19:55 |显示全部楼层
回复 4# 1cpuer

sorry在6楼补正

论坛徽章:
2
15-16赛季CBA联赛之八一
日期:2017-12-29 13:06:2315-16赛季CBA联赛之天津
日期:2018-08-08 17:39:46
发表于 2018-08-24 19:59 |显示全部楼层
回复 5# 龙牙地主天

thanks试了一下
3b7k
q1w9e8x4p0s5c7i2v
碰上这样的不行,是不是没考虑到呢

但还是算比较快的

论坛徽章:
2
15-16赛季CBA联赛之八一
日期:2017-12-29 13:06:2315-16赛季CBA联赛之天津
日期:2018-08-08 17:39:46
发表于 2018-08-24 23:49 |显示全部楼层



引用‘’
# very NEW 居然在1个{action} 完成‘
大侠之所以效率非常慢呗,还能加快吗

论坛徽章:
6
程序设计版块每日发帖之星
日期:2016-05-11 06:20:00操作系统版块每日发帖之星
日期:2016-05-12 06:20:00每日论坛发贴之星
日期:2016-05-12 06:20:00操作系统版块每日发帖之星
日期:2016-05-14 06:20:00程序设计版块每日发帖之星
日期:2016-05-31 06:20:00每日论坛发贴之星
日期:2016-05-31 06:20:00
发表于 2018-08-25 08:02 |显示全部楼层
本帖最后由 1cpuer 于 2018-08-27 10:32 编辑
  1. # Bash: /home/soio/1bs # 2018-08-25 09:16:21 #1535159781
  2. # awk 'm=3{max=0;delete a;{for(i=1;i<=length($0);i++)a[substr($0,i,1)]++;{for(i in a)if(a[i]>max)max=a[i]}}}max>=m' A_123
  3. hello0347hel
  4. hello03470000















复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

【重磅资料】多云网络实战的相关问题汇总!
云网融合的多云网络

本文介绍如何管理私有云数据中心,构建数据中心互联和混合云解决方案。对于OTT 网络架构的深入理解,基本上来源于SIGCOM 的白皮书和一些公开视频。

Overlay SDN 控制器详解

云计算为了适应业务/APP 的快速开发和部署,会把网络分为两层:Overlay 和 Underlay 网络。本文主要讲Overlay网络层面的问题。

超级核心路由器演进

2016 年,网络连接已经采用100G/200G/400G(虽然 400GE 接口技术还未成熟),互联网出口也已经增长到了 T 级别。

获得资料 >>
  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号 北京市公安局海淀分局网监中心备案编号:11010802020122
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员  联系我们:wangnan@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP