File: mapfrom

package info (click to toggle)
rsync 3.2.3-4%2Bdeb11u1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 6,452 kB
  • sloc: ansic: 42,298; sh: 5,934; perl: 933; python: 825; asm: 665; makefile: 349; cpp: 289; awk: 191
file content (15 lines) | stat: -rwxr-xr-x 633 bytes parent folder | download | duplicates (2)
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";