• 利用DB实现简单去重处理


    业务需要针对某文件进行判重操作,用Perl实现如下

    #!/usr/bin/perl
    my %h;
    s/s+$// and $h{$_}++ while <>;
    print "$_ $h{$_}
    " for sort { $h{$b} <=> $h{$a} } keys %h;

    使用效果, 打印出每种行数据的重复次数,例如用它来统计一下弱密码使用频度

    [admin@centos bin]$ perl checkRepeat.pl a | more

    123456789 235032
    12345678 212751
    11111111 76346
    dearbook 45902
    00000000 34953
    123123123 19986
    1234567890 17791
    88888888 15033
    111111111 6994
    147258369 5966
    987654321 5553
    aaaaaaaa 5459
    1111111111 5145
    66666666 5025
    a123456789 4435
    11223344 4096
    1qaz2wsx 3667
    xiazhili 3649
    789456123 3610
    password 3497
    87654321 3281
    qqqqqqqq 3277
    000000000 3175
    qwertyuiop 3143
    qq123456 3094
    iloveyou 3077
    31415926 3061
    12344321 2985
    0000000000 2886
    asdfghjkl 2826
    1q2w3e4r 2797
    123456abc 2580
    0123456789 2578
    123654789 2573
    12121212 2539
    qazwsxedc 2515
    abcd1234 2396
    12341234 2380

    -----------------------------------

    数据记录较复杂时(例如有其它的相关联数据要同步看一下关系时),需要利用DB进行处理,思路利用group by 与having 配合取出目的数据

    select object_name, count(object_name) from objects group by object_name having count(object_name)>1

    结果, 与perl的类似

    只是中间多了一步导入数据的过程有点不爽。

    看场景选择工具吧:)

  • 相关阅读:
    Faster R-CNN
    06.看板实践——限制在制品
    05.看板方法——在制品
    04.看板实践——工作项
    03.看板实战——工作可视化
    02.看板实践——理解看板
    01.看板实践——学习看板(笔记)
    00.看板实践——前言(笔记)
    00.Scrum指南
    02.有效的项目管理——什么是项目管理
  • 原文地址:https://www.cnblogs.com/vigarbuaa/p/3490854.html
Copyright © 2020-2023  润新知