From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24362 invoked from network); 4 Sep 2002 07:11:18 -0000 Received: from sunsite.dk (130.225.247.90) by ns1.primenet.com.au with SMTP; 4 Sep 2002 07:11:18 -0000 Received: (qmail 8634 invoked by alias); 4 Sep 2002 07:11:11 -0000 Mailing-List: contact zsh-workers-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 17611 Received: (qmail 8620 invoked from network); 4 Sep 2002 07:11:10 -0000 From: "Bart Schaefer" Message-Id: <1020904063211.ZM5052@candle.brasslantern.com> Date: Wed, 4 Sep 2002 06:32:10 +0000 X-Mailer: Z-Mail (5.0.0 30July97) To: zsh-workers@sunsite.dk Subject: I've committed "zargs" ... MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii I got a bit carried away and implemented the entire set of options from GNU xargs 4.1. Rather than post the result here, I've just committed it. I didn't write any doc for contrib.yo ... does anyone think I should? Here's `zargs --help': ---------- Usage: zargs [options --] [input-args] [-- command [initial-args]] If command and initial-args are omitted, "print -r --" is used. Options: --eof[=eof-str], -e[eof-str] Change the end-of-input-args string from "--" to eof-str. If given as --eof=, an empty argument is the end; as --eof or -e, with no (or an empty) eof-str, all arguments are input-args. --exit, -x Exit if the size (see --max-chars) is exceeded. --help Print this summary and exit. --interactive, -p Prompt before executing each command line. --max-args=max-args, -n max-args Use at most max-args arguments per command line. --max-chars=max-chars, -s max-chars Use at most max-chars characters per command line. --max-lines[=max-lines], -l[max-lines] Use at most max-lines of the input-args per command line. This option is misnamed for xargs compatibility. --max-procs=max-procs, -P max-procs Run up to max-procs command lines in the background at once. --no-run-if-empty, -r Do nothing if there are no input arguments before the eof-str. --null, -0 Split each input-arg at null bytes, for xargs compatibility. --replace[=replace-str], -i[replace-str] Substitute replace-str in the initial-args by each initial-arg. Implies --exit --max-lines=1. --verbose, -t Print each command line to stderr before executing it. --version Print the version number of zargs and exit. ---------- I spent much more time than I should have on getting the best --max-procs algorithm I could come up with. Comments welcome. -- Bart Schaefer Brass Lantern Enterprises http://www.well.com/user/barts http://www.brasslantern.com Zsh: http://www.zsh.org | PHPerl Project: http://phperl.sourceforge.net