Holger Janßen-Kroll

Beratung · Entwicklung · Internet

Dateiendungen umbenennen (mit subversion)

Einfaches Umbenennen

Das einfache Umbenennen einer bestimmten Dateiendung ist an sich kein Problem. Benutzt wird dazu der Befehl rename in Kombination mit einem passenden regulären Ausdruck:

find -type f | rename s/\\.alt^/.neu/

Dieser Befehl benennt alle Dateien mit der Endung .alt in Dateien mit der Endung .neu um. Das find -type f am Anfang sorgt dafür, dass nur Dateien und keine Verzeichnisse oder Links umbenannt werden.

Subversion / SVN

Sollen nun Dateien innerhalb einer Subversion-Arbeitskopie umbenannt werden, so sollte auf die move Operation von svn zurückgegriffen werden. (Andernfalls würde die Geschichte der entprechenden Datei-Einträge unerbrochen werden.) Das benötigte kleine Skript ist ein wenig komplizierter, da jede Datei einzeln behandelt werden muss.

for FILE in $(find -type f -name "*.alt"); do
  BASE=$(basename $FILE .alt);
  DIR=$(dirname $FILE);
  svn move $DIR/$BASE.alt $DIR/$BASE.neu
done;

Erläuterungen

  • basename [file] [suffix]
    gibt den reinen Dateinamen eines Pfades ohne Verzeichnis und der angegebenen Endung zurück.
  • dirname [file]
    gibt das Verzeichnis eines Pfades zurück.

Zurück


Einen Kommentar schreiben

Was ist die Summe aus 3 und 7?