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

#!/usr/bin/perl
my %h;
s/\s+$// and $h{$_}++ while <>;
print "$_ $h{$_}\n" 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的类似

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

看场景选择工具吧:)

最新文章

  1. iOS从零开始学习直播之音频3.歌曲切换
  2. git如何设置账号密码
  3. arcgis破解的时候,不能启动license manager的问题
  4. BZOJ 1116: [POI2008]CLO
  5. .net中ckeditor的应用
  6. mysql 数据库获取当前时间
  7. 安装 Linux 与 Windows 10 双系统,你需要了解的一切
  8. UITabBarController 初学
  9. 安装Windows2012操作系统 - 初学者系列 - 学习者系列文章
  10. 将页面内容转换Pdf\Word\Excel格式
  11. 1.Docker是什么?
  12. adobe media encoder cc 2015在win10中打开崩溃的解决办法(该方法同样适用于adobe其他产品)
  13. 【转载的】这张图能容易理解sql joins,收藏下!
  14. 面向对象【day07】:析构函数(六)
  15. Linux文件检索
  16. tomcat启动闪退问题
  17. Ubuntu中针对问题 E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)的解决方案
  18. C# 中删除控件的事件的方法类
  19. dts的pci模块中bus-range和ranges
  20. (3)diango的架构

热门文章

  1. Qt中使用的C++知识和技能-你必须要了解的
  2. USB学习笔记连载(十二):USB描述符
  3. 《FPGA全程进阶---实战演练》第一章之FPGA介绍
  4. Linux之统计特定进程运行数量
  5. 【Python】Python加lxml实现图片解析下载功能
  6. (转)libhybris及EGL Platform-在Glibc生态中重用Android的驱动
  7. Java获取正在执行的函数名
  8. weblogic学习笔记:域创建+应用部署
  9. vegan 包进行 Bioenv 分析
  10. 【转】Spring Boot干货系列:(三)启动原理解析