#!/usr/bin/perl # This helper script makes it easy to use a passwd or group file to map # values in a LOCAL transfer. For instance, if you mount a backup that # does not have the same passwd setup as the local machine, you can do # a copy FROM the backup area as follows and get the differing ID values # mapped just like a remote transfer FROM the backed-up machine would do: # # rsync -av --usermap=`mapfrom /mnt/backup/etc/passwd` \ # --groupmap=`mapfrom /mnt/backup/etc/group` \ # /mnt/backup/some/src/ /some/dest/ while (<>) { push @_, "$2:$1" if /^(\w+):[^:]+:(\d+)/; } print join(',', @_), "\n";