summaryrefslogtreecommitdiff
path: root/gnu/usr.bin/perl/eg/findtar
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/usr.bin/perl/eg/findtar')
-rw-r--r--gnu/usr.bin/perl/eg/findtar17
1 files changed, 17 insertions, 0 deletions
diff --git a/gnu/usr.bin/perl/eg/findtar b/gnu/usr.bin/perl/eg/findtar
new file mode 100644
index 00000000000..bf76d669aa5
--- /dev/null
+++ b/gnu/usr.bin/perl/eg/findtar
@@ -0,0 +1,17 @@
+#!/usr/bin/perl
+
+# $RCSfile: findtar,v $$Revision: 1.1 $$Date: 1996/08/19 10:11:53 $
+
+# 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";
+}