PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Dateien umbenennen (awk Beispiel)



Hans-Georg Normann
21.07.02, 22:48
Seit Urväterzeiten gibt's unter UNIX AWK. Dieses Tool mit seiner C-ähnlichen Syntax eignet sich besonders für Systemoperationen, bei denen beispielsweise Dateinamen unter bestimmten Vorrausetzungen ganz oder teilweise nach einem bestimmten Muster geändert werden müssen.

Das folgende Beispiel geht davon aus, daß der unter DOS-Systemen so beliebte Datei-Suffix von Groß- in Kleinbuchstaben zu ersetzen ist (aus JabbaDabbaDooo.MP3 soll JabbaDabbaDooo.mp3 werden). :D Das Script läßt sich leicht an andere Gegebenheiten anpassen.

Das Ganze besteht aus zwei Scripts (mvfiles.sh und mvfiles.awk). mvfiles.sh wird mit einem Parameter aufgerufen. Im Parameter wird das Suchmuster, mit welchem die Dateien enden, z. B. .MP3, mitgegeben. Parameter biitte ohne Anführungsstriche angeben. Es kann auch nur ein Parameter angegeben werden. Das Programm sucht dann ab dem aktuellen Verzeichnis alle Dateien, welche mit dem entsprechenden Suchmuster enden, erstellt eine temporäre Datei (/tmp/crout......bak) ruft den awk auf und benennt die Dateien um.

(müßte eigentlich auch mit white space (Leerzeichen) im Dateinamen zurecht kommen. Daß habe ich aber nicht geprüft)

Viel Spaß beim ausprobieren.

Hans

Jasper
02.08.02, 15:48
das ganze geht aber auch einfacher mit

rename .MP3 .mp3 *.MP3

-j