Dav,

code print only the group and not the users. Is there something am I 
missing from the code you sent?  Here is an example of data structure that 
I am working with :

File 1 
spp/users
spp/users
iam/users 
spp/817208
iam/817208


File2 

user                               group              group group  group 

zions/pwitthoeft        spp/users       iam/users       spp/817208 
iam/817208

zions/vduarte   lpaccess/users  exclist/users

zions_dsandoval         exclist/users   epn/users       lpcom/users 

 
#!/usr/bin/perl
use strict;

open (USGRP, ">/tmp/grp_user365.out") or die "failed ($!)";

select USGRP;

open (GROUPFH, "File1");
my @groups = ();
while (my $line = <GROUPFH>) {
     chomp ($line);
     push (@groups, $line);
}
close (GROUPFH);
open (USERFH, "File2");
my %group_to_users = ();
while (my $line = <USERFH>) {
     chomp ($line);
     my ($user, @user_groups) = split ('\s+', $line);
     foreach  my $group (@user_groups) {
          push (@{$group_to_users{$group}}, $user) if 
$group_to_users{$group};
          $group_to_users{$group} = [$user] unless 
$group_to_users{$group};
     }
}
close (USERFH);
foreach  my $group (@groups) {
     print $group . ":\n";
     for my $user (@{$group_to_users{$group}}) {
          print $user . "\n";
  }
     print "\n";
}
 





"David Greenberg" <[EMAIL PROTECTED]>
08/18/2004 09:51 AM
Please respond to "David Greenberg"

 
        To:     "[EMAIL PROTECTED]" <[EMAIL PROTECTED]>
        cc:     [EMAIL PROTECTED]
        Subject:        Re: Data comparision analysis


#!/usr/bin/perl
use strict;
open (GROUPFH, "<File1");
my @groups = ();
while (my $line = <GROUPFH>) {
     chomp ($line);
     push (@groups, $line);
}
close (GROUPFH);
open (USERFH, "File2");
my %group_to_users = ();
while (my $line = <USERFH>) {
     chomp ($line);
     my ($user, @user_groups) = split ('\s+', $line);
     for my $group (@user_groups) {
          push (@{$group_to_users{$group}}, $user) if 
$group_to_users{$group};
          $group_to_users{$group} = [$user] unless 
$group_to_users{$group};
     }
}
close (USERFH);
for my $group (@groups) {
     print $group . ":\n";
     for my $user (@{$group_to_users{$group}}) {
          print $user . "\n";
     }
     print "\n";
}


On Wed, 18 Aug 2004 09:08:25 -0400, [EMAIL PROTECTED]
<[EMAIL PROTECTED]> wrote:
> Hi all,
> 
> I have two files, one with group names and the other with user name  and
> groups. Can someone help with code that will enable me sort the data by
> group name?   Example:
> 
> File 1
> 
> Group1
> Group 2
>  Group ..n
> 
> File 2
> 
> User name   group1 group2 ... groupn
> 
> Final result
> 
> Group name :
> user 1
> user 2
> user 3
> 
> Thanks
>

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>





Reply via email to