OS X Find e RM recursivamente através de pastas com espaços nos nomes?

5

O WD My Cloud NAS adicionou pastas .wdmc ocultas a todas as pastas com um jpg sem notificar ou perguntar primeiro. Existem muitas centenas na minha unidade NAS. Tem algo a ver com o seu servidor de mídia, mas eu nunca liguei esse recurso. Essas pastas estão cheias de dados que incham meus backups e uso de espaço em disco. Eles precisam ser excluídos, mas estão em todo o disco e, às vezes, dentro das estruturas de diretórios.

No Superuser.com, encontrei este conselho, executei-o no Terminal e pareceu passar a noite toda apagando essas pastas. No entanto, ele não excluiu as pastas de destino nem os dados contidos nelas.

$ find . -type d -name '.wdmc' -print -exec echo rm -rf {} \; 

Eu também encontrei isso, mas ele só funcionava para pastas sem espaços no nome:

rm -rf 'find . -type d -name .wdmc'

De alguma forma, no caminho deve haver uma maneira de escapar dos espaços nos nomes das pastas?

    
por Preston 05.08.2014 / 00:01

3 respostas

4

Versão 2 (passando por xargs )

Depois de pesquisar na página man de find ( ver por exemplo aqui ), encontrei uma solução que usa a opção print0 e xargs para enviar os nomes dos diretórios para rm :

$ find . -type d -name '.wdmc' -print0 | xargs -0 rm -rf

Isso também deve funcionar para nomes de diretório contendo espaços ou outros caracteres não-ASCII.

Versão 1 (funciona apenas para diretórios vazios .wdmc)

Como alternativa, você pode usar a opção -delete de find :

$ find . -type d -name '.wdmc' -delete
    
por 05.08.2014 / 19:26
0

Você já tentou:

$ find . -type d -name '*.wdmc' -print -exec echo rm -rf "{}" \; 

Funciona para mim no meu mac testando-o com ls em vez de rm.

    
por 05.08.2014 / 00:11
0

Você também pode usar seu localizador de aplicativos.

existe um campo de pesquisa no canto superior direito, apenas digite * .wdmc.

por padrão, o escopo da pesquisa é todo o seu mac, mas você pode alterá-lo quando iniciar a pesquisa. mude para a sua pasta atual se você estivesse no topo da maioria dos diretórios, o localizador irá procurar recursivamente por todos os arquivos nesta pasta

do que você pode marcar todos os comandos da bruxa + a e excluí-los

    
por 05.08.2014 / 15:11