Helló!
Egy honlapról szeretnék letölteni jópár PDF filet. A problémám az, hogy a fileoknak a nevei csak egy azonosítószámot tartalmaznak pl:123142.pdf. A rájuk mutató link az ami a címüket mutatja. (Tehát a link amire "kattintani lehet" az "Üvegfestés titkai" és ez mutat a 123456.pdf-re.)
Úgy szeretném letölteni ezeket a pdf-eket, hogy a filenév a link szövege legyen.
Lehetséges ez? Mivel? Hogyan?
A wget manualját olvagattam de nem találtam ilyesfajta lehetőséget.
Köszönöm! :)
- 2036 megtekintés
Hozzászólások
Wget esetén a -O (nagy o) paraméterrel tudod megadni a fájl nevét. Az URL-ből pl. greppel tudod kinyerni a szükséges nevet.
Ennyi bemenő adat mellett kb. ennyit lehet segíteni.
-----
A kockás zakók és a mellészabások tekintetében kérdezze meg úri szabóját.
- A hozzászóláshoz be kell jelentkezni
Pontosan, illetve alternatív megoldás leszedni a pdf-eket, olyan néven, ahogy a netre szülte őket a teremtő, aztán ciklusban exiftoollal kiszedni belőlük a Title metaadatot, és azzal felparaméterezni a mv parancsot.
Ennek nyilván előfeltétele, hogy a pdf-ek pedánsak legyenek.
Ja igen, ha már mv: 3. lehetőség a csúnya névvel leszedett pdf-ek mellé leszedni az őket hivatkozó html-t, és a kedvenc editor használatával átnevező szkriptté faragni azt.
- A hozzászóláshoz be kell jelentkezni
Most látom, hogy elírtam. Ha már a sed helyett grepet írtam, akkor álljon itt egy awk-os megoldás :-)
url="http://vala.hol.hu/egy/valamilyen/rendes/nevu.pdf" ; echo $url | gawk -F'/' '{ print $NF }' | xargs wget $url -O
-----
A kockás zakók és a mellészabások tekintetében kérdezze meg úri szabóját.
- A hozzászóláshoz be kell jelentkezni
ciklusban így lehet a durvasok letöltött fájlt átnevezni:
pl.:
# rename "s/index.php?menuid=5001&hopp.pdf=//" ./index.*
for i in index.*
do
mv $i $(echo $i |\
sed 's/index.php?menuid=5001&hopp.pdf/valami.pdf/g')
done
exit 0
vagy valami hasonló.
Bele kell költeni a
wget -d -c http://pdfwarez/letoltom.pdf
sorból a linket a sed-be.
---
--- A gond akkor van, ha látszólag minden működik. ---
---
- A hozzászóláshoz be kell jelentkezni