Filezilla regex para filtrar todo o subdir exceto um

1

Estou tentando fazer com que o filezilla exclua toda a subpasta de uma determinada pasta, exceto uma sem sucesso. Minha árvore é assim:

css/
  |--many files and dirs...
js/
  |--many files and dirs...
script/
  |--dist/
       |--many files and dirs...
  |--less/
       |---many files and dirs...
  |--fonts/
       |---many files and dirs...
  |--Gruntfile.js
  |--something.json
  |--many other files...
index.html

e eu quero que isso se torne:

css/
  |--many files and dirs...
js/
  |--many files and dirs...
script/
  |--dist/
       |--many files and dirs...
index.html

Descobri que este regex funciona em teoria: folder\/(?!sub1)[\/a-zA-Z]+ , mas o Filezilla suporta apenas expressões regulares estendidas POSIX e isso não funciona.

EDITAR

No Filezilla, para criar um filtro, vá para

View > Filename filters... > Edit filter rules... > New

Claramente, se alguém conseguir o resultado sem usar o regex, mas com as condições pré-definidas do Filezilla, será o mesmo para mim

    
por Red 07.03.2015 / 15:16

1 resposta

0

Eu não sei como funciona o Filezilla, mas a construção (?!sub1) é um significado de lookbehind negativo "combine apenas se a palavra anterior não for sub1 . POSIX EREs não suportam lookarounds, então você precisa usar uma abordagem diferente. Por exemplo, você pode configurar um filtro usando "Filtrar qualquer item que corresponda a um dos itens a seguir" e usar esse regex:

.*sub[2-9].*

Isso significa que "corresponde a qualquer caractere e, em seguida, sub seguido por qualquer número entre 2 e 9, depois qualquer caractere novamente. Isso filtrará todas as pastas sub indesejadas. Observe que essa regex também excluirá sub11 , Não sei se isso é um problema para você.

Se os nomes dos seus diretórios forem diferentes, você precisará de uma abordagem diferente. Nesse caso, edite sua pergunta e inclua os nomes reais de arquivos e diretórios.

    
por 07.03.2015 / 17:50