Hallo,
die Aufgabe lautet: "Benenne die Datei so um, dass die Zahl im Dateinamen um 12 erhöht wird."
Beispiel:
datei23 datei24 datei26 datei27 datei30
soll umbenannt werden zu
datei35 datei36 datei38 datei39 datei42
Ich bin auf der Suche nach einer eleganten, kurzen Lösung.
Gibt es bei rename eine Möglichkeit, mit Variablen Arithmetik zu betreiben?
Beispielsweise
rename 's/([0-9]+)/$1 + irgendwas/' *
Natürlich funktioniert das so nicht, aber vielleicht fehlt mir nur die korrekte Syntax...
Meine Lösung ist kompliziert, steht auf wackligen Füßen. Auf Quoting hab ich bewusst verzichtet, weil hier die Dateinamen unkritisch sind:
for i in *; do alteZahl=$(echo $i | sed 's/[^0-9]*//'); neueZahl=$(($alteZahl + 12)); rename "s/[0-9]+/$neueZahl/" $i; done
Gruß jubuntu79