Ik probeer een bash-scriptje te schrijven als wrapper voor wget, om van een ftp-server (niet van mij) bestanden te downloaden. Probleem is dat de ftp-server #-jes gebruikt in de directory-namen.
Bestand wat ik wil downloaden is dan bv:
ftp://server.nl/# = categorie = #/bestand.ext
Ik gebruik meestal mozilla om de bovenstaande link te copyen, en dan een terminal waarin ik de link plak, maar mozilla zet wel de spaties om in %20, maar de #jes niet in %23. Wget kan dan niet goed verbinding maken ofzo. Dat moet ik dus met de hand doen, of met het script. Het eerste lukt wel, maar is niet handig.
Spaties vervangen door %20 doe ik met het volgende stukje:
$1 is dus de url, met spaties en hekjes.
naief, werkt dus niet:
Maar weet niet zo goed waarom niet. de output wordt in dit geval t1, maar alle hekjes worden niet vervangen, en er staat opeens %23 voor
voorbeeld:
Weet iemand hoe je kunt doen wat ik wil?
Bestand wat ik wil downloaden is dan bv:
ftp://server.nl/# = categorie = #/bestand.ext
Ik gebruik meestal mozilla om de bovenstaande link te copyen, en dan een terminal waarin ik de link plak, maar mozilla zet wel de spaties om in %20, maar de #jes niet in %23. Wget kan dan niet goed verbinding maken ofzo. Dat moet ik dus met de hand doen, of met het script. Het eerste lukt wel, maar is niet handig.
Spaties vervangen door %20 doe ik met het volgende stukje:
Bash:
1
| t1=${1// /%20} |
$1 is dus de url, met spaties en hekjes.
naief, werkt dus niet:
Bash:
1
| t2=${t1//#/%23} |
Maar weet niet zo goed waarom niet. de output wordt in dit geval t1, maar alle hekjes worden niet vervangen, en er staat opeens %23 voor
voorbeeld:
Bash:
1
2
| $ ./script ftp://bla/#%20=%20blaaa/bestand %23ftp://bla/#%20=%20blaaa/bestand |
Weet iemand hoe je kunt doen wat ik wil?
[ Voor 3% gewijzigd door smokalot op 20-11-2003 13:23 ]
It sounds like it could be either bad hardware or software