it-swarm.com.de

Wie kann ich wget dazu bringen, die Unterverzeichnisstruktur beizubehalten, während übergeordnete Verzeichnisse ignoriert werden?

Angenommen, das Verzeichnis

http://www.example.com/content/media/images/vacation_photos

enthält Links zu einer Reihe von Unterverzeichnissen:

/sweden
/egypt
/canada

jedes davon enthält eine Reihe von JPEGs und ich möchte sie alle in meinen lokalen Ordner herunterladen:

/home/jack/VacationPhotos

Damit lande ich alles in Verzeichnissen

/home/jack/VacationPhotos/sweden
/home/jack/VacationPhotos/egypt
/home/jack/VacationPhotos/canada

das Problem ist, wenn ich wget diesen URL gebe, wende die -r (rekursive) Option und die -P /home/jack/VacationPhotos Option an, es lädt alles herunter

/home/jack/VacationPhotos/content/media/images/vacation_photos/sweden

und so weiter, anstatt die Struktur, die ich wollte. Ist es möglich, ein solches Verhalten in wget zu bringen?

2
Jack M

Schauen Sie sich die Optionen -nH und --cut-dirs in wget an. Aus der Manpage:

   --cut-dirs=number
       Ignore number directory components.  This is useful for getting a fine-grained control over the directory where recursive retrieval will be saved.

       Take, for example, the directory at ftp://ftp.xemacs.org/pub/xemacs/.  If you retrieve it with -r, it will be saved locally under ftp.xemacs.org/pub/xemacs/.  While the -nH option can
       remove the ftp.xemacs.org/ part, you are still stuck with pub/xemacs.  This is where --cut-dirs comes in handy; it makes Wget not "see" number remote directory components.  Here are
       several examples of how --cut-dirs option works.
           No options        -> ftp.xemacs.org/pub/xemacs/
           -nH               -> pub/xemacs/
           -nH --cut-dirs=1  -> xemacs/
           -nH --cut-dirs=2  -> .

           --cut-dirs=1      -> ftp.xemacs.org/xemacs/
           ...

   If you just want to get rid of the directory structure, this option is similar to a combination of -nd and -P.  However, unlike -nd, --cut-dirs does not lose with subdirectories---for
   instance, with -nH --cut-dirs=1, a beta/ subdirectory will be placed to xemacs/beta, as one would expect.
3
ridgy