String-interpolation in der Bash
Mein code
#!/bin/bash
for (( c=0; c<=1127; c++ ))
do
id = 9694 + c
if (id < 10000); then
wget http://myurl.de/source/image/08_05_27_0${id}.jpg
else
wget http://myurl.de/source/image/08_05_27_${id}.jpg
fi
done
Bekomme ich nur
./get.sh: line 5: 10000: No such file or directory
--2009-05-06 11:20:36-- http://myurl.de/source/image/08_05_27_.jpg
ohne die Nummer.
Den korrigierten code:
#!/bin/bash
for (( c=0; c<=1127; c++ ))
do
id=$((9694+c))
if (id -lt 10000); then
wget http://myurl.de/source/image/08_05_27_0${id}.jpg
else
wget http://myurl.de/source/image/08_05_27_${id}.jpg
fi
done
Und noch besser:
for i in $(seq 9694 10821) ; do
_U=`printf "http://myurl.de/source/image/08_05_27_%05d.jpg" $i`
wget $_U
done
- Ich hoffe albrecht-haag.de nicht dagegen, Sie kratzen jedes Bild aus Ihrer website 😉
- Ich arbeite für ihn, also denke ich das ist okay. =)
- Was ist die Frage?
- Manni hat Recht, der text in einer Frage müssen erklären, was Sie versuchen zu erreichen. Darüber hinaus brauchen Sie nicht, um c&p Antworten, entweder nur den link zu Ihnen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Werde ich entscheiden sich für die einfachere Lösung
Sind Sie machen ein paar Fehler, die mit der bash-syntax, vor allem beim Umgang mit arithmetischen Ausdrücken.
Sollte dies funktionieren:
Dies ist, was Sie brauchen.
Benötigen Sie: