summaryrefslogtreecommitdiff
path: root/gnu/usr.bin/perl/eg/findtar
blob: 48e3b22aece0a2ae43df5a31a935b4cb2e760e59 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#!/usr/bin/perl

# $RCSfile: findtar,v $$Revision: 1.2 $$Date: 1997/11/30 07:49:39 $

# findtar takes find-style arguments and spits out a tarfile on stdout.
# It won't work unless your find supports -ls and your tar the I flag.

$args = join(' ',@ARGV);
open(find,"/usr/bin/find $args -ls |") || die "Can't run find for you.";

open(tar,"| /bin/tar cIf - -") || die "Can't run tar for you: $!";

while (<find>) {
    @x = split(' ');
    if ($x[2] =~ /^d/) { print tar '-d ';}
    print tar $x[10],"\n";
}