快速获取两组数据的交集,并集,补集
来源:互联网 发布:sql server union 用法 编辑:程序博客网 时间:2024/05/29 10:40
笔者常用这个脚本快速查看两组数据的交并补集。(注意:请保持每组数据是非冗余的)。
#!/usr/bin/perl -wuse strict;use File::Basename;die "#usage:perl $0 <a.txt><b.txt>\n" if @ARGV!=2;my ($p,$q)=@ARGV;open IN1,$p||die;open IN2,$q||die;chomp(my @p=<IN1>);chomp(my @q=<IN2>);close IN1;close IN2;my %p = map{$_,1} @p;my %q = map{$_,1} @q;my @inter = grep{$p{$_}} @q;my %merge = map {$_,1} @p,@q;my @merge = keys %merge;my @q_u = grep {!$p{$_}} @merge;my @p_u = grep {!$q{$_}} @merge;my $p_name=basename$p;my $q_name=basename$q;open OUT1,">",$p_name.".uniq.txt";print OUT1 "$_\n" foreach sort{$a cmp $b}@p_u;close OUT1;open OUT2,">",$q_name.".uniq.txt";print OUT2 "$_\n" foreach sort{$a cmp $b}@q_u;close OUT2;open OUT3,">","${p_name}_$q_name.inter.txt";print OUT3 "$_\n" foreach sort{$a cmp $b}@inter;close OUT3;open OUT4,">","${p_name}_$q_name.merge.txt";print OUT4 "$_\n" foreach sort{$a cmp $b}@merge;close OUT4;
0 0
- 快速获取两组数据的交集,并集,补集
- 求两个升序数组的交集、并集、补集
- 求两个升序数组的交集,并集,补集
- 集合求取并集交集补集
- list集合交集 并集 补集
- python求补集合、交集、并集
- 【PAT1063】Set Similarity 求两集合的交集、并集
- 求两集合的交集与并集
- 两个List的交集,补集
- 两个List的交集,补集
- Android图片的交集或补集
- java数组并集/交集/差集(补集)
- java求集合的并集、交集、补集、差集和对称差集
- js取数组两个数组的交集|差集|并集|补集|去重
- js取数组两个数组的交集|差集|并集|补集|去重
- js取数组两个数组的交集|差集|并集|补集|去重
- Perl技巧 两个数组的取交集,并集与补集
- 利用linux命令sort和uniq求两个文件的交集并集和补集
- Oracle笔记之Oracle数据库数据类型
- 软中断与硬件中断的区别
- 东京时尚在线
- google AdView
- 游戏Loading中的小提示和Loading动画实现
- 快速获取两组数据的交集,并集,补集
- ie6取消横向滚动条
- js自动加载两种方法window.onload和$(document).ready的区别
- 输入某二叉树的前序和中序遍历结果,重建该二叉树
- struts2+spring+hibernate3入门整合Demo
- Android中Textview显示带html文本
- 高清标清区别
- hibernate4不使用hibernate3的AnnotationSessionFactoryBean配置sessionFactory
- spring 官方下载地址(Spring Framework 3.2.x&Spring Framework 4.0.x)