http://qs321.pair.com?node_id=686122


in reply to Adding a new user to all groups where another user is

bronto,
perl -F: -i.save -ape 'if ($F[3] =~ m{bronto} and not m{robin}) { chom +p ; $_ .= qq{,robin\n} }' /etc/group

The first thing I see wrong with this is that you ignore the possibility that one user name may be contained within another. For instance - jon and jonathan.

The second thing I see wrong is that you don't consider that a user's primary group need not be specified in /etc/group if it is present in /etc/passwd. For instance - bronto may belong to group 123 but not appear in group 123's line in /etc/group. At least on some *nix - which would mean 'robin' didn't end up in all groups as 'bronto'.

The last thing is, your documentation is lacking. I know what -i.save does but would everyone who used it? What if someone made a typo - would they know how to undo it?

Cheers - L~R