perl语言怎么去重
perl语言如何去重
uid
1
2
3
4
5
6
5
3
2
2
如上,如何去重并统计数量(perl语言)
------解决方案--------------------
可以把你数组的东西赋给一个hash 此hash的key 和value 均为你的数组元素的值。当有重复的元素赋给hash的时候,perl会容忍你的错误,把之前的元素覆盖
当你遍历数组赋值后,得到的hash就是无冗余的。然后你从此hash再把key或者value遍历出来即可
------解决方案--------------------
------解决方案--------------------
perl -ne 'print if !$hash{$_}++'
uid
1
2
3
4
5
6
5
3
2
2
如上,如何去重并统计数量(perl语言)
------解决方案--------------------
可以把你数组的东西赋给一个hash 此hash的key 和value 均为你的数组元素的值。当有重复的元素赋给hash的时候,perl会容忍你的错误,把之前的元素覆盖
当你遍历数组赋值后,得到的hash就是无冗余的。然后你从此hash再把key或者value遍历出来即可
------解决方案--------------------
#!/usr/bin/perl
%uhash;
while (<DATA>) {
chomp;
($name, $uid, $date) = split;
$uhash{$uid} += 1;
}
for $u (keys %uhash) {
print "$u\t$uhash{$u}\n";
}
__DATA__
a 1 208...
a 1 208...
a 1 208...
a 2 208...
a 3 208...
------解决方案--------------------
perl -ne 'print if !$hash{$_}++'