From NMR Wiki
#!/usr/bin/perl
use strict;
#data directory that contains user dirs, no slash at the end
my $dataroot = '/export/home'; #location to look into for the user directories
my @dirs = qw();#add user names here inside the parentheses, no quotes, separated by empty space
my %stats;
foreach my $user (@dirs){
my $udir = $dataroot . '/' . $user;
open FIND, "find $udir -name procpar |" or die $!;
my @procpars = <FIND>;
close FIND;
foreach my $p (@procpars){
chomp $p;
my $seqfil = getpar('seqfil',$p);
if (!exists $stats{$seqfil}){
$stats{$seqfil} = 0;
}
$stats{$seqfil}++;
}
}
my @explist = sort { $stats{$b} <=> $stats{$a} } keys %stats;
foreach my $e (@explist) {
printf "%-6d%s\n", $stats{$e}, $e;
}
sub getpar{
my ($par,$file) = @_;
open PROCPAR, "<$file" or die $!;
my $val = undef;
while (my $line = <PROCPAR>) {
if ($line =~ /^$par\s/){
$val = <PROCPAR>;
close PROCPAR;
last;
}
}
my @bits = split /\s+/, $val;
$val = $bits[1];
if ($val =~ /^"/){
$val =~ s/"//g;
}
return $val;
}