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.

macos  ssh 

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).


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


0

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

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


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! ;)

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.