Como posso excluir muitas pastas que possuem mais de uma -
em seus nomes?
Por exemplo:
e97bf913-5759-4fff-bdaf-2f931b53a432/
39f953c5-dab0-420e-a650-a50a30f48097/
Responder1
O padrão
*-*-*/
corresponde a diretórios com dois ou mais hífens. Corresponde *
a qualquer string (zero ou mais caracteres).
Se você quiser corresponder apenas nomes de diretórios que não devem começar e terminar com um hífen (como no seu exemplo), você pode usar
[!-]*-*-*[!-]/
em vez de. Corresponde [!-]
a qualquer caractere que não seja ( !
) um hífen.
Correr
ls -d [!-]*-*-*[!-]/
primeiro para ver se esses são os que você deseja excluir. Então corra
rm -r [!-]*-*-*[!-]/
para excluí-los recursivamente. Se você realmente precisar forçar a exclusão, adicione -f
ao comando.
Responder2
rm -r *-*-*-*-*
AVISO: Isso removerá todos os arquivos que correspondam a este esquema. Então, arquivos como:
system-file-separated-by-minus
também será excluído.
A parte '*' representa tudo (zero, um ou vários caracteres) até o próximo dado, neste caso separado por menos. Se você sabe que seus arquivos têm 8 caracteres antes do -, 4 antes do próximo, você pode dizer:
rm -r ????????-????-????-????-????????????
Todo ? representa qualquer personagem. Isso removeria todos os arquivos correspondentes ao seu esquema. Mas também serão excluídos arquivos que tenham o mesmo esquema que você talvez não queira, então verifique isso primeiro.
Responder3
Simplesmente execute este comando no diretório pai
rm -r *-*-*/