Archiv verlassen und diese Seite im Standarddesign anzeigen : BASH: 00 - 10 Zählen lassen
Hi Ich habe n kleines Problem mit meinem Zähler.
Und zwar soll er bei Zahlen die kleiner als 100 sind ein Nullen anhängen und bei Zahlen die kleiner als 10 sind zwei nullan anhängen...
#! /bin/bash
A="001";
E="110";
while [ $A -le $E ]
do
echo "$A";
A=`expr $A + 1`
done
Wie kann ich das realisieren?
Das geht z. B. mit printf
zahl=1
printf "%03d" $zahl
Erstmal danke,nur muss ich den inhalt einer Variablen mit den Nullen füllen. Also der Output alleine reicht nicht aus. Gibts da noch eine Möglichkeit?
Kommandoersetzung wie üblich ...
zahl=1
ZahlMitNullen=$(printf "%03d" $zahl)
erstmal ein danke für deine Hilfe!
Also mein Paar Zeilen code...
#! /bin/bash
A=001;
E=100;
while [ $A -le $E ]
do
#WGET=`wget -r -l1 -U Mozilla -A jpg -L http://www.wallpapershq.com/cat/nature/forets/forets_$A`;
A=$(printf %.3d $(($A+1)));
done
und als Problem erhalte ich beim Ausführen jedesmal:
./wget.sh: line 1: 008: value too great for base (error token is "008")
./wget.sh: line 5: [: -lt: unary operator expected
Das rechnet mit Zahlen die fuehrende Nullen haben passt der bash wohl nicht. Schreib' den printf erst unmittelbar dort rein wo Du die führenden Nullen brauchst, d. h. als $( ) in den wget - Befehl.
Ein Danke schön!
Ich habe es dann mit Perl gemacht...
#!/usr/bin/perl
my $start = 1;
my $ende = 120;
for (; $start <= $ende; $start++) {
my $variable = sprintf("%03i",$start);
system("wget -U Mozilla -A jpg http://www.wallpapershq.com/cat/nature/forets/forets_$variable.jpg");
}
-danke-
RapidMax
24-04-2004, 15:54
for a in `seq -w 1 100`; do echo $a; done
Gruss, Andy
Thomas Engelke
29-04-2004, 10:04
TIMTOWTDI-Perl:
map{system("wget -U Mozilla -A jpg http://www.wallpapershq.com/cat/nature/forets/forets_$_.jpg");} 001..120;
Oder einfach über /bin/bash:
for f in `seq -w 1 120`; do wget -U Mozilla -A jpg http://www.wallpapershq.com/cat/nature/forets/forets_$f.jpg; done;
TME
Powered by vBulletin® Version 4.2.5 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.