Qual é a sintaxe da opção espelho -x (excluir) do lftp?

7

Eu quero espelhar um diretório usando lftp , mas quero excluir alguns subdiretórios.

Eu tentei

mirror -R -e -x ^\.svn$ /documents/ /test

e

mirror -R -e -x /^\.svn$/ /documents/ /test

mas nenhum deles excluiu os diretórios .svn .

    
por AndreKR 17.07.2011 / 22:57

3 respostas

8

mirror -R -e -x ^\.svn$ /documents/ /test está bem.

O truque é que, como .svn é um diretório , ele será correspondido apenas por um padrão que termina em uma barra:

mirror -R -e -x ^\.svn/$ /documents/ /test

    
por 17.07.2011 / 23:10
1

Estou usando

--exclude /\..+/$

para excluir todas as pastas que começam com um ponto.

    
por 25.06.2013 / 16:00
1

Nas minhas experiências, parece que os padrões de inclusão e exclusão são comparados com o caminho inteiro sem inicial / mas com um / para um diretório.

Assim, se você está tentando combinar um nome de diretório como .svn, que pode ocorrer em qualquer nível na árvore, você precisa deste RE:

(^\|/).svn/

A alternativa ^ corresponde ao .svn no nível superior e a / alternativa corresponde a qualquer nível abaixo disso.

O | personagem é significativo para lftp por isso precisa ser sloshed.

    
por 31.07.2015 / 15:17

Tags