head	1.2;
access;
symbols
	RELENG_2_2_8_RELEASE:1.1.1.1
	RELENG_2_2_7_RELEASE:1.1.1.1
	RELENG_2_2_6_RELEASE:1.1.1.1
	RELENG_2_2_5_RELEASE:1.1.1.1
	RELENG_2_2_2_RELEASE:1.1.1.1
	RELENG_2_2_1_RELEASE:1.1.1.1
	RELENG_2_2_0_RELEASE:1.1.1.1
	RELENG_2_1_7_RELEASE:1.1.1.1.6.1
	RELENG_2_1_6_1_RELEASE:1.1.1.1.6.1
	RELENG_2_1_6_RELEASE:1.1.1.1.6.1
	RELENG_2_2:1.1.1.1.0.8
	RELENG_2_2_BP:1.1.1.1
	RELENG_2_1_5_RELEASE:1.1.1.1.6.1
	RELENG_2_1_0_RELEASE:1.1.1.1
	RELENG_2_1_0:1.1.1.1.0.6
	RELENG_2_1_0_BP:1.1.1.1
	RELENG_2_0_5_RELEASE:1.1.1.1
	RELENG_2_0_5:1.1.1.1.0.4
	RELENG_2_0_5_BP:1.1.1.1
	RELENG_2_0_5_ALPHA:1.1.1.1
	RELEASE_2_0:1.1.1.1
	BETA_2_0:1.1.1.1
	ALPHA_2_0:1.1.1.1.0.2
	perl_4_036_bmake:1.1.1.1
	lwall:1.1.1;
locks; strict;
comment	@# @;


1.2
date	98.09.09.06.49.04;	author markm;	state dead;
branches;
next	1.1;

1.1
date	94.09.10.06.27.46;	author gclarkii;	state Exp;
branches
	1.1.1.1;
next	;

1.1.1.1
date	94.09.10.06.27.47;	author gclarkii;	state Exp;
branches
	1.1.1.1.6.1
	1.1.1.1.8.1;
next	;

1.1.1.1.6.1
date	96.06.05.02.41.51;	author jkh;	state Exp;
branches;
next	1.1.1.1.6.2;

1.1.1.1.6.2
date	99.09.05.11.11.10;	author peter;	state Exp;
branches;
next	;

1.1.1.1.8.1
date	99.09.05.11.06.53;	author peter;	state Exp;
branches;
next	;


desc
@@


1.2
log
@Old Perl is leaving us. Goodbye, faithful friend.
@
text
@#!/usr/bin/perl

# $Header: /home/ncvs/src/gnu/usr.bin/perl/eg/findcp,v 1.1 1994/09/10 06:27:46 gclarkii Exp $

# This is a wrapper around the find command that pretends find has a switch
# of the form -cp host:destination.  It presumes your find implements -ls.
# It uses tar to do the actual copy.  If your tar knows about the I switch
# you may prefer to use findtar, since this one has to do the tar in batches.

sub copy {
    `tar cf - $list | rsh $desthost cd $destdir '&&' tar xBpf -`;
}

$sourcedir = $ARGV[0];
if ($sourcedir =~ /^\//) {
    $ARGV[0] = '.';
    unless (chdir($sourcedir)) { die "Can't find directory $sourcedir: $!"; }
}

$args = join(' ',@@ARGV);
if ($args =~ s/-cp *([^ ]+)/-ls/) {
    $dest = $1;
    if ($dest =~ /(.*):(.*)/) {
	$desthost = $1;
	$destdir = $2;
    }
    else {
	die "Malformed destination--should be host:directory";
    }
}
else {
    die("No destination specified");
}

open(find,"find $args |") || die "Can't run find for you: $!";

while (<find>) {
    @@x = split(' ');
    if ($x[2] =~ /^d/) { next;}
    chop($filename = $x[10]);
    if (length($list) > 5000) {
	do copy();
	$list = '';
    }
    else {
	$list .= ' ';
    }
    $list .= $filename;
}

if ($list) {
    do copy();
}
@


1.1
log
@Initial revision
@
text
@d3 1
a3 1
# $Header: /home/cvs/386BSD/ports/lang/perl/eg/findcp,v 1.1.1.1 1993/08/23 21:29:43 nate Exp $
@


1.1.1.1
log
@Initial import of Perl 4.046 bmaked

@
text
@@


1.1.1.1.8.1
log
@$Id$ -> $FreeBSD$
@
text
@d3 1
a3 1
# $Header: /home/ncvs/src/gnu/usr.bin/perl/eg/Attic/findcp,v 1.1.1.1 1994/09/10 06:27:47 gclarkii Exp $
@


1.1.1.1.6.1
log
@This 3rd mega-commit should hopefully bring us back to where we were.
I can get it to `make world' succesfully, anyway!
@
text
@d3 1
a3 1
# $Header: /pub/FreeBSD/FreeBSD-CVS/src/gnu/usr.bin/perl/eg/findcp,v 1.1.1.1 1994/09/10 06:27:47 gclarkii Exp $
@


1.1.1.1.6.2
log
@$Id$ -> $FreeBSD$
@
text
@d3 1
a3 1
# $FreeBSD$
@

