Führende Nullen in Schleifenvariablen

Post Reply
Message
Author
Sascha+Müller

Führende Nullen in Schleifenvariablen

#1 Post by Sascha+Müller »

Ich brauche des öfteren Schleifen in der Art:
<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">for i in `seq 1 27 1100`
do test $i -le 9 && i=0$i
test $i -le 99 && i=0$i
test $i -le 999 && i=0$i
echo $i
done</font><hr></pre></blockquote>

Das funktioniert zwar, wie es soll, ist aber in einem Punkt unschön: Ich brauche drei Zeilen, nur um ausreichend führende Nullen vor die Variable zu hängen. Gibt es da keinen einfacheren Weg?

nano
Posts: 200
Joined: 09. Aug 2002 23:21

Re: Führende Nullen in Schleifenvariablen

#2 Post by nano »

Hi Sascha,

versuch's mal damit:

<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">
for i in `seq 1 27 1100`
do
i=`printf %0.4d $i`
echo $i
done
</font><hr></pre></blockquote>
Sollte klappen.

Gruß,
nano

Jochen

Re: Führende Nullen in Schleifenvariablen

#3 Post by Jochen »

Viel einfacher: Einfach in die Man-Page zu seq schauen und die Option -w bzw. --equal-width finden.<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">for i in $(seq -w 1 27 1100) ; do
echo $i
done</font><hr></pre></blockquote>Dann füllt seq die Zahlen mit führenden Nullen zu gleicher Länge auf.

Jochen

Post Reply