Nowe posty

xx Dystrybucja pod HP Omen (7)
Dzisiaj o 11:33:05
xx [Poradnik] Wyszukiwanie Sterowników (2)
2024-03-27, 21:08:23
lamp Problem z Linux Lite po instalacji (0)
2024-03-27, 19:50:30
xx Ile pingwinów? (1)
2024-03-27, 08:59:24
xx konfiguracja pale moon (0)
2024-03-24, 21:53:42
xx Plasma 6 w Neonie ssie trochę mniej ... (10)
2024-03-23, 02:38:11
xx problem z instalacja sterowników do karty sieciowej (3)
2024-03-18, 18:10:16
xx Plik abc.001 (1)
2024-03-17, 17:48:27
xx Zlecę dopracowanie programu w MatLab (0)
2024-03-13, 15:28:40
xx Linux Mint 21.3 XFCE brak dźwieku po paru minutach (karta muzyczna zintegrowana) (5)
2024-03-12, 23:07:01

Autor Wątek: Problem z programem wget  (Przeczytany 2239 razy)

  • Gość
Problem z programem wget
« dnia: 2009-05-31, 10:11:19 »
Mam problem z użuciem programu wget
Stosuje następ[ującą składnię programu wget
wget -nc -r -i plik
i niestety nie chce mi ściągnąć plików z odwzorowaniem katalogów w pliku plik mam takie linijki
http://serwiswwl/katalog1/obrazki.aspx?p=/katalog1/katalog2/katalog3/katalog4/1.jpg
http://serwiswwl/katalog1/obrazki.aspx?p=/katalog1/katalog2/katalog4/katalog5/1.jpg
http://serwiswwl/katalog1/obrazki.aspx?p=/katalog6/katalog7/katalog8/katalog9/2.jpg

w pliku plik mam okolo 1000 takich linijek i każda jest unikatowa skladnia ta sciaga mi pliki ale w nastepujacy sposob że zakłada mi takie katalogi:
serwiswwl - katalog1 i wszystkie pliki sciaga do tego katalogu bez odwzorowania katalogów a pliki zapisuje w nastepujacy sposob:
obrazki.aspx?p=%2FKatalog1%2FKatalog3%2FKatalog4%2F1.jpg
wstawia taki kod %2F zamiazs w miejsce /
zaznacze ze testowalem ta sama skladnie wget pod windowsem i mi zapisuje OK.
Jak to zrealizować pod linuxem.

Offline ultr

  • Users
  • Guru
  • *****
  • Wiadomości: 1177
    • Zobacz profil
Problem z programem wget
« Odpowiedź #1 dnia: 2009-05-31, 11:50:58 »
Ściąga całkowicie prawidłowo.

W adresie:
http://serwiswwl/katalog1/obrazki.aspx?p=/katalog1/katalog2/katalog3/katalog4/1.jpg
masz:
http://domena/ścieżka/plik?zmienne_get

Dziwne, że pod windowsem zapisuje inaczej. To znaczy, że zapisuje błędnie, być może przez ograniczenia w nazwach plików w FAT/NTFS.

Tu ewidentnie plikiem jest skrypt .aspx. Może w nagłówku mieć informacje o nowej nazwie (np. 1.jpg), ale na pewno nie o tej ścieżce ze zmiennej p.


Możesz po ściągnięciu plików użyć skryptu basha, aby poprzenosił je do katalogów.
#!/bin/bash
while read plik; do
plik2="${plik//%%2F//}"
katalog="$( dirname $plik2 )"
mkdir -p "$katalog"
cp "$plik" "$plik2"
done < <( find . -name "*%2F*" )

  • Gość
Problem z programem wget
« Odpowiedź #2 dnia: 2009-05-31, 20:22:39 »
OK. Dzięki wszsytko działa ok bardzo mi pomogłeś jednak dla informacji w skypcie jest błąd zamiast %%  powinno być % w linii plik2="${plik//%%2F//}" czyli tak powinna linijka wyglądać plik2="${plik//%2F//}"