script:Merge-passwd.pl
From Dgiref
#!/usr/bin/perl -w my $original_passwd = "/etc/passwd"; my $dgrid_passwd = "/etc/passwd-dgrid"; my $tmp_passwd = "/tmp/tmp-passwd-dgrid"; # passwd limit: my $min_range = 1000; my $max_range = 1000000; open (FILE1, "<$original_passwd") or die "Can't open $original_passwd: $!\n"; open (FILE2, "<$dgrid_passwd") or die "Can't open $dgrid_passwd: $!\n"; @LINES1 = <FILE1>; @LINES2 = <FILE2>; close(FILE1); close(FILE2); foreach $line (@LINES1){ $len = length ($line); if($len <= 1){ next; } @array=split(/:/,$line); if( ($array[2] < $min_range ) || ($array[2] > $max_range) ){ push(@NEWFILE, $line); } } foreach $line (@LINES2){ $len = length ($line); if($len <= 1){ next; } push(@NEWFILE, $line); } open(OUT, ">$tmp_passwd"); foreach $line (@NEWFILE){ print OUT $line; } close(OUT); system("mv $tmp_passwd $original_passwd"); system("chmod 644 $original_passwd")