Dateien umbenennen (1): bash

Das folgende Bash-Script nimmt alle Dateien mit einer Endung (hier jpg), gibt ihnen einen neuen Namen und nummeriert sie. Um die Sortierung beizubehalten, füllt es die Nummern mit 0-Stellen auf.

#!/bin/bash

# Endung der Dateien
ENDUNG=jpg

# Neuer Name der Dateien
NEU="neuer-name-"

# Nummerierung der Dateien
STELLEN=3     # Stellen der Nummerierung
NUMMER=1      # Startnummer
NULL=000000   # Füllzeichen

# Wegen Leerzeich in alten Dateinamen
OLDIFS=$IFS
IFS=$'\12'

for i in $(find . -name ".$ENDUNG") ;
do
    NULLNUMMER=$(printf $NULLNUMMER)
    ZAHL=${NULLNUMMER: -$STELLEN}
    mv "$i" $(printf $NEU$ZAHL).$ENDUNG
    let ++NUMMER;
done

# Wegen Leerzeichen in neuen Dateinamen
IFS=$OLDIFS