2013-05-05 13 views
19

Chcę użyć wget, aby mój plik przybierał nazwę, której chcę. Na przykład, jeśli wykonam wget -r http://www.x.com/y/z, plik główny zostanie nazwany z, mimo że w rzeczywistości jest to index.html.wget podaj nazwę pobranego pliku i nie ma innego pliku

Sprawdziłem opcję wget -O, ale zgodnie z instrukcją:

‘-O file’ 
‘--output-document=file’ 
The documents will not be written to the appropriate files, but all will be concatenated together and written to file. ... 

Wydaje się, że wszystkie pliki będą łączone i zapisywane w pliku żądanej nazwy. Chciałbym, aby tylko główny plik (a nie jakikolwiek plik wynikający z rekurencji) był połączony. Jak mogę to zrobić?

+1

Nie wiem co masz na myśli przez „Chciałbym tylko główny plik być łączone.” –

+0

Ostatecznie to serwer WWW decyduje o tym, co wyśle, w zależności od przychodzącego adresu URL, więc nie ma na to absolutnego rozwiązania. –

Odpowiedz

35

pominąć -r jeśli chcesz tylko główny plik :

wget -O customFileName http://www.x.com/y/z 

wget nie obsługuje zmiany nazwy tylko jeden plik do pobrania rekursywnego. Pamiętaj, że nazwy plików odpowiadają częściom adresu URL, a zmiana nazwy pliku przerwałaby połączenia między plikami. Zawsze można też podzielić go na dwie części:

wget -O customFileName http://www.x.com/y/z 
wget -r http://www.x.com/y/z 

lub po prostu zmienić nazwę pliku siebie:

wget -r http://www.x.com/y/z 
mv z customFileName 
+0

Chcę wszystkie pliki. –

+0

@PaulS. Dodałem kilka innych opcji. –

3

Spróbuj dołączenie / na końcu adresu URL:

$ wget -r http://www.x.com/y/z/ 

Powoduje pliku index.html zapisywany zamiast pliku z

+0

Okay ... ale czy można wybrać nazwę pliku, który chcę? –

+2

From 'man wget': --default-page = name: Użyj nazwy jako domyślnej nazwy pliku, gdy nie jest znana (tj. Dla adresów URL, które kończą się ukośnikiem) zamiast index.html. –

0

Z tego co rozumiem chcesz złączyć plik, który wskazuje serwer i pobierać wszystkie pliki w jednym miejscu rekursywnie na stronie.

concatenate:

wget -qO- http://www.google.com 

pobieranie rekurencyjne na jedno miejsce:

wget --mirror -p --convert-links -P ./LOCAL-DIR http://www.google.com 

gdzie lokalne-DIR jest jednym katalogu wszystkie katalogi zostanie pobrany. Z tej strony:

http://www.thegeekstuff.com/2009/09/the-ultimate-wget-download-guide-with-15-awesome-examples/

Powiązane problemy