Hoje Eu Aprendi (TIL) como excluir todos os conteúdos de uma pasta exceto subpastas específicas usando Bash. Isso é especialmente útil para redefinir os plugins no meu ambiente de teste WordPress, preservando aqueles que sempre uso.

O Comando

Para remover tudo dentro de wp-content/plugins/ exceto pastas começando com dk- ou exatamente nomeadas auto-login e index.php:

rm -r wp-content/plugins/!(dk-*|auto-login|index.php)
Bash

Para que este comando funcione, você precisa ter o Extended Globbing habilitado no Bash. Para verificar se está habilitado, execute: shopt extglob e a saída deve ser extglob on.

Verificar Antes de Excluir

Para verificar o que será excluído:

ls -d wp-content/plugins/!(dk-*|auto-login|index.php)
Bash

Esclarecimento sobre o uso de Inteligência Artificial neste conteúdo

  • Utilizado IA para: tradução;
  • Modelo: Claude 3.7 Sonnet;
  • Resultado revisado por um humano: Sim.


Comments

2 respostas para “Como remover todos os arquivos em um diretório exceto subpastas específicas no Bash”

  1. Obrigado Daniel por excelente conteúdo.
    Vou testar aqui no meu terminal no caso é o zsh. Esse tipo de conteúdo é perfeito e agiliza em nossa produtividade vou ver se consigo também ver se existe a possibilidade de fazer com o WP-cli.

    Abraços.

    1. Infelizmente esse comando não funciona no Zsh, por isso acabei de escrever um novo post sobre isso: Como remover todos os arquivos em um diretório exceto subpastas específicas no Zsh (Linux ou Mac).

Deixe um comentário

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