Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 22 Apr 2001 15:47:43 +0300 (EEST)
From:      Maxim Sobolev <sobomax@FreeBSD.org>
To:        brian@Awfulhak.org, sobomax@FreeBSD.org
Cc:        brian@Awfulhak.org, kabaev@mail.ru, sheldonh@uunet.co.za, freebsd@gndrsh.dnsmgr.net, bsd@bsdhome.com, schweikh@schweikhardt.net, freebsd-current@FreeBSD.org, brian@Awfulhak.org
Subject:   =?ISO-8859-1?Q?Re:_cp_-d_dir_patch_for_review_(or_'xargs'=3F)?=
Message-ID:  <200104221247.PAA94845@ipcard.iptcom.net>
In-Reply-To: <200104221216.f3MCGV517027@hak.lan.Awfulhak.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 22 Apr 2001 13:16:31 +0100, Brian Somers wrote:
> > On Sat, 21 Apr 2001 20:04:31 +0100, Brian Somers wrote:
> > > > Sorry for butting in. Adding new non-portable functionality to solve the problem
> > > > which could be adequitely taken care of using existing and well known
> > > > techniquies is not appropriate, I completely agree with you on that.
> > > 
> > > And I'm still waiting to see those well known techniques.
> > 
> > Attached small script should solve this problem and doesn't require
> > introducing incompatible option in the standard tool.
> > 
> > For example:
> > 
> > find /usr/src -type f | xargs larg cp targetdir
> > 
> > For speed purposes it could be implemented in raw C.
> > 
> > -Maxim
> > 
> > #!/bin/sh
> > 
> > if [ ${#} -le 2 ]; then
> > 	echo "Usage: larg command lastarg arg1 [arg2 ...]"
> > 	exit 0
>              ^
>              oops :-)
> > fi
> > 
> > COMMAND=${1}
> > LASTARG=${2}
> > shift 2
> > exec ${COMMAND} "${@}" "${LASTARG}"
> 
> Yes, I think this will work as long as your environment isn't 
> polluted by something like $ENV (any increase in the environment size 
> will effect xargs's calculation of how many arguments will fit on the 
> command line).

I don't see why it matters. The only thing that matters here is number of
args accepted by the shell. Anyway this is a 2-minute prototype... ;)
As you can see, the problem in fact could be easily solved using "well
known techniques".

> Of course I still prefer the xargs fix - as you said above, it'd be 
> nicer in C :-)

I still don't see why it couldn't be an separate tool (perhaps more
general that my prototype).

-Maxim

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200104221247.PAA94845>