waj4356:server1:server2:X:server4:server5:X:X:server8:server9
zaw8732:X:server2:server3:server4:X:server6:X:server8:X
cvf6609:X:X:X:X:server5:server6:server7:X:X
####
waj4356:server1:server2:server4:server5:server8:server9
zaw8732:server2:server3:server4:server6:server8
cvf6609:server5:server6:server7
####
#!/usr/bin/perl -w
use strict;
my %USERS;
foreach my $file () {
open(PASSWD,$file);
my $strip=$file;
#strips passwd. from passwd.server
$strip =~ s/passwds\.//;
while() {
my($login,$gcos) = (split(':',$_))[0,4];
if(exists $USERS{$login}) {
push(@{$USERS{$login}},$strip);
} else {
$USERS{$login} = [$strip];
}
}
close(PASSWD);
}
open(NEWFILE,">file3") || print "Can't open file3: $!\n";
foreach my $login (sort keys %USERS) {
print NEWFILE "$login:".shift(@{$USERS{$login}}).":";
print NEWFILE join(':',@{$USERS{$login}})."\n";
}
close(NEWFILE);
print "the Active Servers listing is done\n";