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

Jens Dreger jens.dreger at physik.fu-berlin.de
Fr Jun 4 00:04:10 CEST 2004


On Thu, Jun 03, 2004 at 11:36:41PM +0200, Lutz Meinert wrote:
> Hallo,
> 
> kennt jemand ein tool mit dem man schnell und bequem nur den
> Anfangsbuchstaben eines Dateinamens von gro? nach klein (oder auch
> umgekehrt) ?ndern kann?
> 
> Ich hab' zwar hierf?r folgendes Shell-Script geschrieben (bezogen f?r
> alle Dateien eines Verzeichnisses), aber irgendwie werde ich den
> Verdacht nicht los, dass es auch eleganter gehen k?nnte...
>

Den Verdacht hab ich auch... :)

Es gibt z.B. das kleine Tool 'rename'. Ist bei debian bei perl dabei.
Damit geht (z.B.):

dreger at smart:..belug/rename> touch {a,b,c}test
dreger at smart:..belug/rename> rename -v '$_=ucfirst' *
atest renamed as Atest
btest renamed as Btest
ctest renamed as Ctest
dreger at smart:..belug/rename> ls
Atest  Btest  Ctest

Was natuerlich auch geht, ist z.B. einfach:

dreger at smart:..belug/rename> ls | perl -lne '$new=lcfirst; rename $_,$new;'
dreger at smart:..belug/rename> ls
atest  btest  ctest

Allerdings ueberschreibt das dann evtl. schon existierende Files und
mit Leerzeichen in Dateinamen usw. geht bestimmt auch was schief. Ich
hatte vor Ewigkeiten mal ein eingenes rename geschrieben (das im
Unterschied zu dem bei perl mitgelieferten einen dry-run-mode
hat). Das benuzte ich immernoch. Die tun aber im Prinzip das gleiche.

Gruss,

Jens.



Mehr Informationen über die Mailingliste linux-l