加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Perl不重复的文件行输出

发布时间:2020-12-16 00:38:10 所属栏目:大数据 来源:网络整理
导读:在日常的文本处理中,有时候要输出唯一的行,这种工作有多种方法实现... 以下是一种: my %hash; while () { ? ? chomp; ? ? if (defined $hash{$_}) { ? ?? ???$hash{$_} = undef;? ? #重复? ? ?? ???next; ? ? } ? ? $hash{$_} = [$_,$.]; } my @uniq = g

在日常的文本处理中,有时候要输出唯一的行,这种工作有多种方法实现...

以下是一种:

my %hash;
while (<>) {
? ? chomp;
? ? if (defined $hash{$_}) {
? ?? ???$hash{$_} = undef;? ? #重复?
? ?? ???next;
? ? }
? ? $hash{$_} = [$_,$.];
}

my @uniq = grep defined,values %hash;? ?? ?? ?#过滤到重复的
@uniq = sort {$a->[1] <=> $b->[1]} @uniq;? ? #按保存的顺序排序
say $_->[0] for @uniq

?

这是来自CU 的一个代码,比较的简单,故贴在这里,供观赏。

?

还有一例:

my @x=(1,2,3,1,4);

my %hash;

$hash{$_}++ for @x;

for (@x) {

print if $hash{$_} < 2;

}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读