27 lines
534 B
Perl
Executable file
27 lines
534 B
Perl
Executable file
#!/usr/bin/perl
|
|
# This script takes an input of filenames and outputs a set of
|
|
# include/exclude directives that can be used by rsync to copy
|
|
# just the indicated files using an --exclude-from=FILE option.
|
|
use strict;
|
|
|
|
my %hash;
|
|
|
|
while (<>) {
|
|
chomp;
|
|
s#^/+##;
|
|
my $path = '/';
|
|
while (m#([^/]+/)/*#g) {
|
|
$path .= $1;
|
|
print "+ $path\n" unless $hash{$path}++;
|
|
}
|
|
if (m#([^/]+)$#) {
|
|
print "+ $path$1\n";
|
|
} else {
|
|
delete $hash{$path};
|
|
}
|
|
}
|
|
|
|
foreach (sort keys %hash) {
|
|
print "- $_*\n";
|
|
}
|
|
print "- /*\n";
|