linux-l: Perl-Script

Jens Dreger jens.dreger at physik.fu-berlin.de
Do Mär 30 21:10:15 CEST 2000


On Thu, Mar 30, 2000 at 08:37:18PM +0200, Volker Mueller wrote:
> On Thu, 30 Mar 2000, Philipp Grau wrote:
> 
> >On Thu, Mar 30, 2000 at 10:11:18AM +0200, Manuel Tennert wrote:
> >> ich habe ein kleines Problemchen und hoffe jemand könne mir helfen. Ich
> >> will ein Perlscript schreiben, was einen Dateinamen von Groß- in
> >> Kleinbuchstaben umwandelt ! Problem dabei ist noch, daß die Dateinamen
> >> HEP1.EPS oder HEP321.EPS lauten. Hat jemand eine Idee ?
> >
> >Es gibt ein UR-alt Perlscript "rename", das mit dem UR-Camel-Buch
> >(Programming Perl) kam, und immer noch in den Sources von Perl 5.005 dabei
> >ist. 
> 
> ... und fuer's Scriptarchiv noch die (ba)sh-Version (wie war noch mal
> die Adr. dafuer? Kann mal jemand forwarden?):
> 
> #!/bin/bash
> # rename UpPeRcAsE-filenames to lowercase
> # Volker, 30.03.1900
> 
> for i in $*; do
>   n=`echo $i | tr A-Z a-z`
>   echo "moving $i -> $n"
>   mv $i $n
> done

Seit dieser bahnbrechenden M$-Entwicklung langer Dateinamen sind ja
auch Leerzeichen in Dateinamen zur Mode geworden. Ich schlage daher

 for i in "$@"; do ...

vor. Sonst bekommt man mit den Leerzeichen Aerger, und das mv koennte
schnell irgendwas plattmachen, was es nicht soll. Um das
Ueberschreiben von vorhanden Files zu verhindern, waere vielleicht
ein "mv -i" gut.

Gruss,

Jens 



Mehr Informationen über die Mailingliste linux-l