PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Shell soll mit zweistelligen Zahlen rechnen (01+1=02)



CaptainAlphabet
08-09-2004, 18:42
Gibt es eine Möglichkeit, die Shell zu zwingen, beim rechnen zweistellige Zahlen zurückzugeben, auch wenn die erste Ziffer ein Null wäre?


Year=01

while [ $Year -le 04 ]
do
Year=$( expr $Year + 1 )
[...]
done

peschmae
08-09-2004, 19:13
Ja, gibt es. printf

Hatten wir eben irgendwo in nem Thread.

MfG Peschmä

Hans-Georg Normann
08-09-2004, 19:33
[hans@rosi hans]$
[hans@rosi hans]$ Year=04
[hans@rosi hans]$ printf "%02d\n" $Year
04
[hans@rosi hans]$ Hans

CaptainAlphabet
08-09-2004, 20:05
Leider hilft mir das nicht weiter, weil printf die Zahl direkt ausgibt, ich aber nur möchte, dass die Variable "Year" nach der Bereichnung mit expr immernoch eine Null an erster Stelle hat, sodass beim Aufruf mit $Year die Werte 02, 03 oder 04 an der entsprechenden Stelle eingesetzt werden. Beispiel: Datei_31-12-$Year.txt

peschmae
08-09-2004, 21:42
Doch, das hilft dir weiter. Weil $()-Aufrufe kann man schachteln :)



Year=$( printf "%02d\n" $( expr $Year + 1 ))


MfG Peschmä

CaptainAlphabet
12-09-2004, 12:27
Alles klar, funktioniert super. Vielen Dank! :)