From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12005 invoked from network); 24 Jul 2005 08:34:44 -0000 Received: from news.dotsrc.org (HELO a.mx.sunsite.dk) (130.225.247.88) by ns1.primenet.com.au with SMTP; 24 Jul 2005 08:34:44 -0000 Received: (qmail 85857 invoked from network); 24 Jul 2005 08:34:38 -0000 Received: from sunsite.dk (130.225.247.90) by a.mx.sunsite.dk with SMTP; 24 Jul 2005 08:34:38 -0000 Received: (qmail 23795 invoked by alias); 24 Jul 2005 08:34:31 -0000 Mailing-List: contact zsh-users-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 9141 Received: (qmail 23784 invoked from network); 24 Jul 2005 08:34:31 -0000 Received: from news.dotsrc.org (HELO a.mx.sunsite.dk) (130.225.247.88) by sunsite.dk with SMTP; 24 Jul 2005 08:34:31 -0000 Received: (qmail 84831 invoked from network); 24 Jul 2005 08:34:31 -0000 Received: from ns9.hostinglmi.net (213.194.149.146) by a.mx.sunsite.dk with SMTP; 24 Jul 2005 08:34:25 -0000 Received: from 212.red-80-35-44.pooles.rima-tde.net ([80.35.44.212] helo=localhost) by ns9.hostinglmi.net with esmtpa (Exim 4.51) id 1DwbwI-0001EO-2e; Sun, 24 Jul 2005 10:34:26 +0200 Date: Sun, 24 Jul 2005 10:37:32 +0200 From: DervishD To: Bart Schaefer Cc: Zsh Users Subject: Re: Sorting file names randomly Message-ID: <20050724083732.GA73@DervishD> Mail-Followup-To: Bart Schaefer , Zsh Users References: <20050723194240.GA32416@DervishD> <20050723212657.GA744@DervishD> <1050724064415.ZM20425@candle.brasslantern.com> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <1050724064415.ZM20425@candle.brasslantern.com> User-Agent: Mutt/1.4.2.1i Organization: DervishD X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - ns9.hostinglmi.net X-AntiAbuse: Original Domain - sunsite.dk X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - dervishd.net X-Source: X-Source-Args: X-Source-Dir: X-Spam-Checker-Version: SpamAssassin 3.0.4 (2005-06-05) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00 autolearn=ham version=3.0.4 Hi Bart :) * Bart Schaefer dixit: > On Jul 23, 9:42pm, DervishD wrote: > } > } shuffle dir1/* dir2/* ... > There's no reason to noglob and alias this. The space required to > expand the glob on the command line is no worse than what you're > doing inside the function anyway, and there aren't argument-size > limits on calls to shell functions, only on external commands. How about this?: function shuffle () { emulate -L zsh setopt nullglob globdots rcexpandparam RANDOM=`date +%s` [[ $# -eq 0 ]] && set '*' reply=() reply=($*) reply=($reply(e:'REPLY="${(l.5..0.)RANDOM} $REPLY"':)) reply=(${(o)reply}) reply=(${reply/#????? /}) print -l $reply return 0 } It does the globbing outside, and shuffles correctly. Any way of making the 'reply' assignments shorter? Should I go definitely for a 'for' loop and an associative array? Thanks a lot :) Raúl Núñez de Arenas Coronado -- Linux Registered User 88736 | http://www.dervishd.net http://www.pleyades.net & http://www.gotesdelluna.net It's my PC and I'll cry if I want to...