AW: linux-l: Lowercase

Michael Müller mueller at SECTOR.DE
Do Mär 25 15:16:35 CET 1999


Hallo Mario!

Ich habe mal ein ähnliches Problem gehabt:
Per eMail bekommene LaTeX-Dateien (recht viele) waren alle groß
geschrieben, aber im LaTeX-Dokument, daß diese eingebunden hat,
klein.
Deshalb hatte ich mein Problem auch hier geschildert und (glaube
ich) 5 Lösungen erhalten, die alle funktioniert haben. Perl-Script war
auch eins dabei.

Ich sitze gerade bei der Arbeit und deshalb an einer Rechner mit (TM)-
Software. Deshalb ist meine Antwort wahrscheinlich nicht ganz korrekt,
aber ich denke die Tips werden Dir reichen.

Ich würde so vorgehen:

find /STARTVERZEICHNIS -t d -exec ... \;

find sucht alle Dateien von Typ directory (-t d) ausgehend von
/STARTVERZEICHNIS. find arbeitet sowieso rekursiv. Mit -exec
wird eine Befehl ausgeführt mit der gefundenen "Datei". Die ...
stehen für eine Befehl.

Als Befehl (also die ...) kommen wohl tr und mmv in Frage.
Beide haben Optionen, um Zeichen zu wandeln.
z.B. mmv *.tex #l1.tex wandelt alle Dateien, die auf .tex enden
in KLEINGESCHRIEBEN.tex um.
#1 steht für den Text, der durch * representiert wird und das l
dazwischen sagt: mache lowercase.

tr kann sowas auch. Ich denke, daß Du es auch erst damit
probieren solltest.

Für find, tr und mmv empfehle ich vorher die Hilfe (--help)
aufzurufen.

Ergänzend will ich noch erwähnen, daß Du über {} in -exec die
gefundene Datei angibst!

Z.B.
find /home -t d -exec echo {} \;
gibt alle Verzeichnisse unter /home über echo aus!

Ich hoffe Dir soweit weiter geholfen zu haben!

Falls meine Ausführungen Fehler enthalten (sehr wahrscheinlich),
bitte ich um Korrektur!

Bis dann!

Michael Müller, Berlin

> Hi,
> 
> da ich mir die aktuellen Kernelquellen mit einer unzulänglichen
> WinWeich
> (TM)
> Software gebrannt habe, stehe ich jetzt vor dem Problem, daß er nahezu
> alle
> Verzeichnisse in Großbuchstaben geschrieben hat.
> 
> Kann mir jemand bitte einen kurzen Skript schreiben, der einfach ein
> als
> Parameter angegebenes Verzeichnis lowercased, nicht aber die darin
> vorhandenen
> Dateien? Oder noch besser: Ein Skript, der das rekursiv für alle
> Unterverzeichnisse
> miterledigt?
> 



Mehr Informationen über die Mailingliste linux-l