[linux-l] Umbenennen mehrerer Dateien

olafBuddenhagen at gmx.net olafBuddenhagen at gmx.net
Di Dez 12 06:14:49 CET 2006


Hallo,

On Mon, Dec 11, 2006 at 09:46:05PM +0100, Benjamin Schieder wrote:
> On 11.12.2006 20:34:26, olafBuddenhagen at gmx.net wrote:

> >    for i in *; do mv "$i" "`echo $i|tr 'A-Z ' 'a-z_'`"; done
> 
> Sollte man da nicht wirklich [[:upper:]] und [[:lower:]] verwenden?
> Ä und Ö und Ü sitzen sonst immer noch dumm rum.

Stimmt. Hatte ich verdrängt... Also nochmal korrekter/schöner:

   for i in *; do mv "$i" "`echo $i|tr '[:upper:] ' '[:lower:]_'`"; done

Die Variante mit sed funktioniert so übrigens gar nicht, habe ich
irgendwie schlecht getestet... :-(

Hier nochmal 'ne korrekte (allerdings nur für GNU sed):

   for i in *; do mv "$i" "`echo $i|sed 's/./\l&/g;y/ /_/'`"; done

-Olaf-



Mehr Informationen über die Mailingliste linux-l