gosseberry hat geschrieben: 01.03.2018 09:11:25
Danke für die Anregungen, aber das hatte ich auch schon; es gibt hier auch mehrere Syntax.
Dieser Hinweis ist aber wichtig und mehr als eine Nebensaechlichkeit, das betrifft auch dein Beispiel in der csh! Gerade in dem Fall gibt es auch keinen Grund, der dagegen spricht: Es ist nicht nur sicherer, sondern auch noch performanter und einfacher verstaendlich und weniger Code!
Okay, das aber alles liefert mir keine Lösung meiner Frage.
Zum Vergleich in der csh sieht es sehr einfach aus und es funktioniert mit der NULLEN.
Code: Alles auswählen
foreach i ( `ls -1 Dia*` )
set j2 = `printf "%.4d" $j`
echo $i "--> Dia-$j2.jpg"
Hier fehlt aber das Inkrementieren. Wo wird $j geaendert?
Diese Umsetzung in csh scheint es so zu machen, wie ich vorgeschlagen habe: mit normalen Zahlen zu rechnen ($j) und nur fuer die Ausgabe die Nullen vorne dran hangen ($j2). Deine bash-Umsetzung rechnet aber mit fuehrenden Nullen (was mittels des bash-Features `10#' allerdings auch zu gehen scheint).
Loesungswege, die ich sehe:
- Mach es in der Bash strukturell gleich wie in der Csh.
- Nutze die Bash-Features, die dir vorgeschlagen worden sind.
- Bleibe bei der Csh, wenn die tut. (Warum muss es unbedingt in der Bash sein?)
Edit: Oh, zu spaet, owl102 war schneller.