wget não excluindo o diretório aninhado

0

Eu vi esta mas não está funcionando. A estrutura do diretório remote / ftp é esta:

domain.com/
  toplevel/
    foo1/
      ARCHIVE/
        README.stuff
        DATA/
          README.txt
          ...other nested folders
      wantedstuff.zip
      wantedstuff2/
        morewantedstuff.zip
        ...otherstuffwanted

Eu quero tudo em /toplevel EXCETO tudo dentro das pastas /ARCHIVE de cada pasta aninhada em /toplevel/* .

Eu tentei isso:

wget --continue -r --exclude-directories=/ARCHIVE/ ftp://domain.com/toplevel/

e estes:

wget --continue -r --exclude-directories=ARCHIVE ftp://domain.com/toplevel/
wget --continue -r --exclude-directories=ARCHIVE/ ftp://domain.com/toplevel/
wget --continue -r X /ARCHIVE/ ftp://domain.com/toplevel/
wget --continue -r -X '*/ARCHIVE/*' ftp://domain.com/toplevel/
wget --continue -r -X '*/ARCHIVE' ftp://domain.com/toplevel/
wget --continue -r --reject-regex '.*/ARCHIVE/.*' ftp://domain.com/toplevel/

Mas nenhum parece funcionar, ele ainda faz o download dessa pasta ARCHIVE. Querendo saber como evitar que ele seja baixado.

    
por Lance Pollard 07.11.2018 / 00:21

1 resposta

2

Você precisa incluir o nível superior / foo. Veja um exemplo anterior A solução deve ser:

wget --continue -r --exclude-directories=/toplevel/foo/ARCHIVE/ ftp://domain.com/toplevel/

Por algum motivo, prefiro:

wget --continue  -X /toplevel/foo/ARCHIVE/ -r ftp://domain.com/toplevel/

Para excluir todos os diretórios ARCHIVE nos dois primeiros níveis principais, faça:

wget --continue  -X */*/ARCHIVE/ -r ftp://domain.com/toplevel/

mas isso é preferência pessoal.

    
por 07.11.2018 / 01:12

Tags