linux-l: Q: Umwandlung von Dateinamen
Fabian Walk
fabian at narf.in-berlin.de
Mi Okt 14 20:43:22 CEST 1998
On Mit, 14 Okt 1998, you wrote:
>Umwandlung Groß- in Kleinbuchstaben:
>sed -e "y/ABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÜ/abcdefghijklmnopqrstuvwxyzäöü/"
>
Ich habe jetzt mein Script folgendermaßen modifiziert:
#!/bin/bash
# Name : lowercase
# Datum : 1998-10-14
# Autor : Fabian Walk
# Funktion: konvertiert Dateinamen in eines Verzeichnises und allen
# Unterverzeichnisen in Kleinbuchstaben
#
find $1 -name *"[A-Z]"* -exec mv -i {} $(echo {} | sed -e "y/ABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÜ/abcdefghijklmnopqrstuvwxyzäöü/") \;
leider wird der sed-Befel nicht richtig ausgeführt denn ich erhalte die
folgende Fehlermeldung:
mv: `./TEST.TXT' and `./TEST.TXT' are the same file
Ich kann keinen offensichtlichen Fehler entdecken. Ich breuchte wieder mal
einen Tip von euch Linux-Profis.
Noch eine Frage am Rand. Ist es mit sed (so wie oben verwendet) auch möglich
ein Zeichen aus dem Dateinamen zu löschen. Ich will nämlich alle Sonderzeichen
wie z.B. ~ ! aus den Dateinamen gleich mit entfernen. In den ManPages zu sed
stand aber das die beiden Zeichenketten gleichlang sein müssen. Ist es möglich
das noch ohne einen neuen sed-Befehl einzubauen? Und wie kann ich den
find-Befehl so erweitern das er außer nach Großbuchstaben auch nach
Sonderzeichen wie z.B. ~ ! sucht, da in einigen Dateinamen auch soetwas
vorkommt?
Bye und Danke
--
Fabian fabian at narf.in-berlin.de
Mehr Informationen über die Mailingliste linux-l