summaryrefslogtreecommitdiffstats
path: root/support/mapfrom
blob: 88946bc017fd42925cec044493ed93a8433f15bd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/usr/bin/env 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";