From owner-freebsd-current Sun Apr 22 5:48:20 2001 Delivered-To: freebsd-current@freebsd.org Received: from ipcard.iptcom.net (ipcard.iptcom.net [212.9.224.5]) by hub.freebsd.org (Postfix) with ESMTP id CD11637B422; Sun, 22 Apr 2001 05:48:13 -0700 (PDT) (envelope-from sobomax@FreeBSD.org) Received: from notebook.vega.com (dialup9-61.iptelecom.net.ua [212.9.228.61]) by ipcard.iptcom.net (8.9.3/8.9.3) with ESMTP id PAA94845; Sun, 22 Apr 2001 15:47:43 +0300 (EEST) (envelope-from sobomax@FreeBSD.org) Date: Sun, 22 Apr 2001 15:47:43 +0300 (EEST) Message-Id: <200104221247.PAA94845@ipcard.iptcom.net> 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 From: Maxim Sobolev Reply-To: sobomax@FreeBSD.org Subject: =?ISO-8859-1?Q?Re:_cp_-d_dir_patch_for_review_(or_'xargs'=3F)?= X-Mailer: Pygmy (v0.5.5) In-Reply-To: <200104221216.f3MCGV517027@hak.lan.Awfulhak.org> Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG 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