Jak wykluczyć niektóre katalogi podczas korzystania z wget?

12

Chciałbym pobrać katalog z FTP, który zawiera niektóre kody źródłowe. Początkowo zrobiłem to:

wget -r ftp://path/to/src

Niestety sam katalog jest wynikiem transakcji SVN, więc istnieje wiele katalogów .svn, a przeszukanie ich zajęłoby więcej czasu. Czy można wykluczyć te katalogi .svn?

anta40
źródło

Odpowiedzi:

18
wget -X directory_to_exclude[,other_directory_to_exclude] -r ftp://URL_ftp_server

SERVER
    |-logs
    |-etc
    |-cache
    |-public_html
      |-images
      |-videos ( want to exclude )
      |-files
      |-audio  (want to exclude)

wget -X /public_html/videos,/public_html/audio ftp:SERVER/public_html/*
josejavierfm
źródło
1
To wydaje się być poprawnym komentarzem. Przełącznik exclude-directories nie wykonuje wzorców / wyrażeń regularnych, więc musisz podać całą ścieżkę (od katalogu głównego). Wyżej głosowana odpowiedź wydaje się niepoprawna we wszystkich przypadkach oprócz trywialnych.
John O
1
Zgadzam się. Chociaż dokumentacja mówi, że można używać symboli wieloznacznych, nie udało mi się zmusić ich do działania.
Diomidis Spinellis
2
symbole wieloznaczne działają, ale są interpretowane najpierw na poziomie powłoki, więc musisz uciec od nich, aby działać.
Joop Kiefte
5
wget --exclude-directories=.svn -r ftp://path/to/src
kwanty
źródło