[linux-l] Anfangsbuchstaben-Umwandlung von Dateien auf der Konsole

Lutz Meinert lutz.meinert at madvedge.de
Fr Jun 4 21:46:55 CEST 2004


Vielen Dank für die tollen Alternativen!

On Fri, 2004-06-04 at 11:13, Jens Dreger wrote:
> ...
> ls | perl -lne '$new=lcfirst; rename $_,$new;'
> 
> Mein erstes Beispiel mit rename hatte die Files von "atest" nach
> "Atest" umbenannt, das zweite direkt mit perl daher wieder zurueck
> zu "atest". Du muesstest ucfirst schreiben, wenn Du sie gross haben
> willst. An Stelle kannst Du auch einen regex schreiben, z.B.
> $new=$_; s/blah/blub/; rename $_,$new;'

Sorry, habe ich ich im Anfall morgendlicher Umnachtung übersehen.
Funktioniert prächtig! 

On Fri, 2004-06-04 at 11:35, Marek Froehlich wrote:
> ...
# Alle Files nach Gross
> perl -e 'map { -f $_ && rename($_,ucfirst) } <*>'
> # Alle Files nach Klein
> perl -e 'map { -f $_ && rename($_,lcfirst) } <*>'
> 
> Wenn rekursiv in verzeichnisse gehen soll, benutze File::Find.

Auch ausgesprochen tippfreundlich und funktioniert hervorragend.

Ich sollte mich wirklich mal näher mit perl beschäftigen...

On Fri, 2004-06-04 at 09:30, Kendy Kutzner wrote: 
> ...
> for a in * ; do mv "$a" "`echo $a | head -c 1 | tr A-Z a-z``echo $a | sed -e 's/.//'`" ; done
> for a in * ; do mv "$a" "`echo $a | head -c 1 | tr a-z A-Z``echo $a | sed -e 's/.//'`" ; done

Ist zwar länger als die Perl-Lösungen aber kürzer und eleganter als
mein Eigenbau und für mich als (noch) perl-Unkundiger natürlich auch vertrauter.

Danke nochmals und beste Grüße
Lutz
-- 
Lutz Meinert <lutz.meinert at madvedge.de>




Mehr Informationen über die Mailingliste linux-l