Return to BSD News archive
Newsgroups: comp.infosystems.www.servers.unix,comp.unix.bsd.freebsd.misc,comp.unix.programmer,comp.unix.questions Path: euryale.cc.adfa.oz.au!newshost.carno.net.au!harbinger.cc.monash.edu.au!munnari.OZ.AU!news.ecn.uoknor.edu!feed1.news.erols.com!hunter.premier.net!www.nntp.primenet.com!nntp.primenet.com!howland.erols.net!netcom.com!kxr From: kxr@netcom.com (Keith Rich) Subject: Re: Help Need a UTIL for Case Sensitive Files. Message-ID: <kxrE151Do.Ls2@netcom.com> Organization: Netcom Online Communications Services (408-241-9760 login: guest) References: <01bbd5d3$54b9d060$86629dcc@big-one> Date: Tue, 19 Nov 1996 22:05:48 GMT Lines: 32 Sender: kxr@netcom10.netcom.com Xref: euryale.cc.adfa.oz.au comp.infosystems.www.servers.unix:22109 comp.unix.bsd.freebsd.misc:31266 comp.unix.programmer:46558 comp.unix.questions:91568 In article <01bbd5d3$54b9d060$86629dcc@big-one> "Erotic Delirium" <kelly@eroticd.com> writes: >does anyone have a utility that will go through and change filenames & >directories from uppercase to lower case. I need to change everything in a >certian directory including subdirs to lowercase and its about 9000 files. >(no joke) >-- >Kelly > Make a shell script called upp2low containing: #!/bin/sh dirname=`dirname $1` basename=`basename $1` basenew=`echo $basename | tr A-Z a-z` if test "$basenew" != "$basename"; then (cd $dirname ; mv $basename $basenew) fi Then invoke it as follows: find dir -depth -exec upp2low {} \; The -depth will make sure that all sub-directories get renamed before the upper level directories. The dirname/basename stuff is changing only the lowest level name; without that it won't work right. For a System V Unix (rather than BSD), change "tr A-Z a-z" to: tr '[A-Z]' '[a-z]' Keith