Datei mit einer eindeutigen Nummer benennen

Datum: 2005-01-06
Quelle: suse-linux

Worum ging es?

Eine neu zu erstellende Datei soll als Namen eine fortlaufende Nummer erhalten, die aus einer Datei gelesen wird.

Code
# alle Shells / all shells
current=0
test -f counter_file && current=`cat counter_file`
new=`printf "%9.9d" \`expr $current + 1\``
echo $new >counter_file
# bash
current=0
test -f counter_file && current=$(cat counter_file)
new=$(printf "%9.9d" $((current + 1)))
echo $new >counter_file
Beschreibung

Zuerst wird der Zähler mit Null initialisiert. Wenn die Zählerdatei existiert, wird der bisherige Wert des Zählers aus der Datei counter_file geholt. Dann wird er um 1 erhöht und mittels printf auf eine Breite von 9 Stellen mit Vorlaufnullen formatiert. Der neue Wert wird in die Datei zurückgeschrieben.