Eu compartilhei sobre como remover todos os arquivos em um diretório exceto subpastas específicas no Bash, mas infelizmente este comando não funciona para o Zsh. Após alguns ajustes, consegui reproduzir o mesmo comportamento, que é remover tudo dentro de wp-content/plugins/, exceto pastas começando com dk- ou exatamente nomeadas auto-login, e index.php:

find wp-content/plugins/ -mindepth 1 -maxdepth 1 -type d ! -name 'dk-*' ! -name 'auto-login' ! -name 'index.php' -exec rm -rf {} +
Bash

Versão para testes

Aqui está a versão de testes que apenas listará o que seria excluído:

find wp-content/plugins/ -mindepth 1 -maxdepth 1 -type d ! -name 'dk-*' ! -name 'auto-login' ! -name 'index.php' -print
Bash

Confirmar Antes de Excluir

Você também pode confirmar manualmente a exclusão de cada item adicionando o parâmetro -ok:

find wp-content/plugins/ -mindepth 1 -maxdepth 1 -type d ! -name 'dk-*' ! -name 'auto-login' ! -name 'index.php' -ok rm -rf {} \;
Bash

Mover para a Lixeira

Uma abordagem mais segura seria mover os arquivos para a pasta de lixeira em vez de excluí-los permanentemente. Veja como fazer isso.

Linux

Estou usando a ferramenta trash-cli para isso.

find wp-content/plugins/ -mindepth 1 -maxdepth 1 -type d ! -name 'dk-*' ! -name 'auto-login' ! -name 'index.php' -exec trash-put {} +;
Bash

macOS

find wp-content/plugins/ -mindepth 1 -maxdepth 1 -type d ! -name 'dk-*' ! -name 'auto-login' ! -name 'index.php' -exec trash {} +;
Bash

🤖 Divulgação de Uso de Inteligência Artificial 🤖

  • 📝 IA usada para: tradução (en_US para pt_BR);
  • 🧠 Modelo: Claude 3.7 Sonnet;
  • 🧐 Revisado por Humano: Sim.


Comments

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *