Remova todos os arquivos gerados pelo Mac '._' com o bash

4

Estou tentando encontrar o comando para excluir recursivamente todos os arquivos gerados pelo Apple Mac, como '._' da unidade. Até agora eu tenho:

find . -name '._*' -exec rm -rf {} \;

no entanto, não parece fazer o truque.


fonte
1
Desculpe, isso é fora de tópico. Tente superuser.stackexchange.com
Joe
Como isso está fora de tópico? O ssh não é coberto aqui - eu já vi várias postagens para o ssh, mas nenhuma explica como obter o que foi dito acima.
Eles podem ter sido perguntas antigas. Desde o lançamento do StackOverflow, muitas StackExchanges surgiram para preencher especialidades. Essas perguntas podem ter surgido antes da existência do site StackExchange.
21412 Joe
(Eu sei como é frustrante para ter algo marcada off-topic, mas precisa de um número de votos da comunidade para confirmá-la por isso não é nada pessoal.)
Joe
O que você observa?
Nicole Hamilton

Respostas:

10

Agora existe uma maneira melhor!

Veja man dot_cleandesde o OS X 10.5.

dot_clean -n .não apenas excluirá os arquivos da barra de pontos dentro e abaixo do diretório atual, mesclará suas informações no arquivo pai se ainda não estiver lá (e eu deduzo que você -ntambém deseja excluir o arquivo da barra de pontos se não houver um nativo correspondente Arquivo).

Matt Fallshaw
fonte
2

O uso do ponto como primeiro argumento inicia no diretório em que você está.

Se você deseja encontrar todos os arquivos começando com ._, use a barra como primeiro parâmetro, para que a localização inicie no diretório raiz.

E como alguns desses arquivos não pertencem a você, você também pode usar o comando suso.

Portanto, o comando completo fica assim:

sudo find / -name "._*" -exec rm -rf {} \;

Pelo menos para mim, sempre faz o truque. Ao omitir a parte -exec, basta listar todos os arquivos, para que você possa executá-lo primeiro para ver se todos os arquivos foram encontrados que você espera

heiglandreas
fonte
0

encontrar . (-name '._ *') -exec rm {} -rf \; Deveria trabalhar

Não sei se é diferente no OSX comparado ao bash.

Gunnish
fonte
Os Macs rodam o Bash e certamente o têm, findembora eu ache um pouco desatualizado. A página de manual diz 2008, mas tenho certeza de que será suficientemente atualizada.
21412 Joe
0

Eu sei: este post é obsoleto. De qualquer forma eu escrevo aqui porque é o primeiro que eu encontrei! Eu tive o mesmo problema com uma conta do Dropbox que usei no mac osx, movida agora no Windows / Linux Ubuntu. Usando o bash (o meu é o Cygwin64 bash), digitei dentro da minha pasta do Dropbox:

find . -regex '.+/\._.+' -exec rm {} \;

Observe que -rf foi removido das soluções acima. '._' devem ser apenas arquivos, portanto, não adicione muitos poderes ao comando rm! ;)

Enrico
fonte