O --no-parent
-Option é o que você está procurando.
Estou usando o wget para baixar todos os arquivos de dentro de uma pasta usando as opções -r e -np. No entanto, isso também faz o download das pastas anteriores, o que eu não quero.
Por exemplo:
wget -r -np ftp://user:[email protected]/articles/artist/images/
isso baixa todos os arquivos de "imagens" (o que é bom), mas também baixa as pastas artigos , artista e imagens ( o que é ruim). Qual opção conserta isso?
O --no-parent
-Option é o que você está procurando.
Acho que o que você está procurando é a opção --cut-dirs
. Usado em conjunto com a opção -nH
(no hostname), você pode especificar exatamente qual nível de diretório você deseja que apareça em sua saída local. Como exemplo, tenho um download de .pkg que desejo gravar em meu diretório local e não quero que toda a árvore pai seja incluída, apenas os subdiretórios. Nesse caso, meu ponto de partida para obter apenas o nome do .pkg como o diretório pai é 5 níveis abaixo:
wget -np -nH --cut-dirs 5 -r http://www.myhost.org/pub/downloads/My_Drivers/OS_10_5_x/Letter_Format/driver_C123_105.pkg
O que você verá, então, é o nome driver_C123_105.pkg em seu diretório atual.
% ls -lt | head
drwxr-xr-x 12 rob rob 408 Feb 22 12:54 driver_C123_105.pkg
-rw-------@ 1 rob rob 0 Feb 16 15:59 1kPSXcUj.pdf.part
-rw-------@ 1 rob rob 842 Feb 3 14:47 WcUuL69s.jnlp.part
[... etc ...]
% find driver_C123_105.pkg
driver_C123_105.pkg
driver_C123_105.pkg/Contents
driver_C123_105.pkg/Contents/Archive.bom
driver_C123_105.pkg/Contents/Archive.pax.gz
driver_C123_105.pkg/Contents/index.html
driver_C123_105.pkg/Contents/index.html?C=D;O=A
driver_C123_105.pkg/Contents/index.html?C=D;O=D
driver_C123_105.pkg/Contents/index.html?C=M;O=A
driver_C123_105.pkg/Contents/index.html?C=M;O=D
driver_C123_105.pkg/Contents/index.html?C=N;O=A
driver_C123_105.pkg/Contents/index.html?C=N;O=D
driver_C123_105.pkg/Contents/index.html?C=S;O=A
driver_C123_105.pkg/Contents/index.html?C=S;O=D
driver_C123_105.pkg/Contents/Info.plist
driver_C123_105.pkg/Contents/PkgInfo
driver_C123_105.pkg/Contents/Resources
driver_C123_105.pkg/Contents/Resources/background.jpg
[..... etc ....]
Você pode direcionar essa saída para outro lugar com a opção -P
.
Você pode procurar por isso:
wget -r -np -nd ftp://user:[email protected]/articles/artist/images/
A opção -nd é uma abreviação de --no-directories.
De man wget
:
-np
--no-parent
Do not ever ascend to the parent directory when retrieving
recursively. This is a useful option, since it guarantees that
only the files below a certain hierarchy will be downloaded.