From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1162 invoked from network); 23 Jan 1998 17:46:46 -0000 Received: from ns2.primenet.com.au (7795@203.24.36.3) by ns1.primenet.com.au with SMTP; 23 Jan 1998 17:46:46 -0000 Received: (qmail 1006 invoked from network); 23 Jan 1998 17:46:42 -0000 Received: from math.gatech.edu (list@130.207.146.50) by ns2.primenet.com.au with SMTP; 23 Jan 1998 17:46:42 -0000 Received: (from list@localhost) by math.gatech.edu (8.8.5/8.8.5) id MAA07071; Fri, 23 Jan 1998 12:27:14 -0500 (EST) Resent-Date: Fri, 23 Jan 1998 12:26:53 -0500 (EST) Message-Id: <199801231728.JAA02254@eisws25.jpl.nasa.gov> X-Authentication-Warning: eisws25.jpl.nasa.gov: williams@localhost didn't use HELO protocol To: ZShell Users Subject: Re: renaming with number prefix In-reply-to: Your message of "Fri, 23 Jan 1998 16:54:04 +0100." <19980123165404.53612@math.fu-berlin.de> Date: Fri, 23 Jan 1998 09:28:32 -0800 From: Peter Williams Resent-Message-ID: <"1U8r33.0.sj1.SBDoq"@math> Resent-From: zsh-users@math.gatech.edu X-Mailing-List: archive/latest/1266 X-Loop: zsh-users@math.gatech.edu X-Loop: zsh-workers@math.gatech.edu Precedence: list Resent-Sender: zsh-workers-request@math.gatech.edu In message <19980123165404.53612@math.fu-berlin.de>, Sven Guckes writes: >Problem: >Rename all files within a directory such that their names >get a numeral prefix in the default sort order. > >Example: > > $ ls > abc bar baz foo zyxxy > $ > $ ls > 1.abc 2.bar 3.baz 4.foo 5.zyxxy I know I risk being branded a zsh heretic for posting two perl solutions in one day, but here goes ;-) usage: renumdir renumdir () { perl -e '{ foreach $dir (@ARGV) { opendir(DIR,$dir) || die "Cannot opendir $dir: $!"; @files = sort grep(!/^\.\.?$/,readdir(DIR)); $num = "0" x length(@files); chdir($dir); for (@files) { $file = $num++ . ".$_"; if (-f $file || !rename($_,$file)) { warn "Cannot rename $_ -> $file: $!\n"; } } } }' $* } Peter Williams "Just don't create a file called -rf. :-)" -- Larry Wall in <11393@jpl-devvax.JPL.NASA.GOV>